i have got a linker problem, i don't know how to handle; there are
three projects in my workspace. In the Project called modules_common is
a class called Features. In the second project there's a class called
FeaturesFromPng , which contains an instance of Features. The third
project contains the main-function in which i want to work with an
instance of FeaturesFromPng , but generating the instance produces a
LNK2005 error. If i delete the line which generates the instance of
Features in the class FeaturesFromPng , theres no linking problem, but
my code doesn't do what i want it to do.
Heres a part of the error-output with some verbose-information:
Durchsuchen von D:\Visual Studio
..NET\Vc7\Platf ormSDK\lib\odbc 32.lib:
Durchsuchen von D:\Visual Studio
..NET\Vc7\Platf ormSDK\lib\odbc cp32.lib:
Durchsuchen von
\user\bosse\dev \Adaptation\Fea tures\Release\F eatures.lib:
Durchsuchen von \user\bosse\dev \Adaptation\rel ease\Adaptation .lib:
Durchsuchen von D:\Visual Studio .NET\Vc7\lib\li bcpmt.lib:
Durchsuchen von D:\Visual Studio .NET\Vc7\lib\LI BCMT.lib:
Durchsuchen von D:\Visual Studio .NET\Vc7\lib\OL DNAMES.lib:
Durchsuchen von D:\Visual Studio .NET\SDK\v1.1\l ib\MSCOREE.LIB:
Durchsuchen von D:\Visual Studio .NET\Vc7\lib\ms vcrt.lib:
msvcrt.lib(ti_i nst.obj) : error LNK2005: "private: __thiscall
type_info::type _info(class type_info const &)"
(??0type_info@@ AAE@ABV0@@Z) bereits in LIBCMT.lib(typi nfo.obj)
definiert
msvcrt.lib(ti_i nst.obj) : error LNK2005: "private: class type_info &
__thiscall type_info::oper ator=(class type_info const &)"
(??4type_info@@ AAEAAV0@ABV0@@Z ) bereits in LIBCMT.lib(typi nfo.obj)
definiert
msvcrt.lib(MSVC R71.dll) : error LNK2005: "public: __thiscall
bad_cast::bad_c ast(char const *)" (??0bad_cast@@Q AE@PBD@Z) bereits in
LIBCMT.lib(stde xcpt.obj) definiert
Durchsuchen von D:\Visual Studio .NET\Vc7\lib\ms vcprt.lib:
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: void __thiscall
std::_Mutex::_U nlock(void)" (?_Unlock@_Mute x@std@@QAEXXZ) bereits in
libcpmt.lib(xmu tex.obj) definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: void __thiscall
std::_Mutex::_L ock(void)" (?_Lock@_Mutex@ std@@QAEXXZ) bereits in
libcpmt.lib(xmu tex.obj) definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: void __thiscall
std::locale::fa cet::_Register( void)"
(?_Register@fac et@locale@std@@ QAEXXZ) bereits in
libcpmt.lib(loc ale0.obj) definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: void __thiscall
std::locale::fa cet::_Incref(vo id)" (?_Incref@facet @locale@std@@QA EXXZ)
bereits in batchClassifier .obj definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: static unsigned int
__cdecl std::ctype<char >::_Getcat(clas s std::locale::fa cet const * *)"
(?_Getcat@?$cty pe@D@std@@SAIPA PBVfacet@locale @2@@Z) bereits in
batchClassifier .obj definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: class
std::locale::fa cet const * __thiscall std::locale::_G etfacet(unsigne d
int)const " (?_Getfacet@loc ale@std@@QBEPBV facet@12@I@Z) bereits in
libcpmt.lib(loc ale0.obj) definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: __thiscall
std::_Lockit::~ _Lockit(void)" (??1_Lockit@std @@QAE@XZ) bereits in
libcpmt.lib(xlo ck.obj) definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: __thiscall
std::_Lockit::_ Lockit(int)" (??0_Lockit@std @@QAE@H@Z) bereits in
libcpmt.lib(xlo ck.obj) definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: __thiscall
std::basic_stri ng<char,struct std::char_trait s<char>,class
std::allocator< char> >::~basic_strin g<char,struct
std::char_trait s<char>,class std::allocator< char> >(void)"
(??1?$basic_str ing@DU?$char_tr aits@D@std@@V?$ allocator@D@2@@ std@@QAE@XZ)
bereits in batchClassifier .obj definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: class
std::basic_stri ng<char,struct std::char_trait s<char>,class
std::allocator< char> > & __thiscall std::basic_stri ng<char,struct
std::char_trait s<char>,class std::allocator< char> >::operator+=(c lass
std::basic_stri ng<char,struct std::char_trait s<char>,class
std::allocator< char> > const &)"
(??Y?$basic_str ing@DU?$char_tr aits@D@std@@V?$ allocator@D@2@@ std@@QAEAAV01@A BV01@@Z)
bereits in batchClassifier .obj definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: __thiscall
std::basic_stri ng<char,struct std::char_trait s<char>,class
std::allocator< char> >::basic_string <char,struct
std::char_trait s<char>,class std::allocator< char> >(class
std::basic_stri ng<char,struct std::char_trait s<char>,class
std::allocator< char> > const &)"
(??0?$basic_str ing@DU?$char_tr aits@D@std@@V?$ allocator@D@2@@ std@@QAE@ABV01@ @Z)
bereits in batchClassifier .obj definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: __thiscall
std::basic_stri ng<char,struct std::char_trait s<char>,class
std::allocator< char> >::basic_string <char,struct
std::char_trait s<char>,class std::allocator< char> >(char const *)"
(??0?$basic_str ing@DU?$char_tr aits@D@std@@V?$ allocator@D@2@@ std@@QAE@PBD@Z)
bereits in batchClassifier .obj definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: __thiscall
std::basic_stri ng<char,struct std::char_trait s<char>,class
std::allocator< char> >::basic_string <char,struct
std::char_trait s<char>,class std::allocator< char> >(unsigned int,char)"
(??0?$basic_str ing@DU?$char_tr aits@D@std@@V?$ allocator@D@2@@ std@@QAE@ID@Z)
bereits in batchClassifier .obj definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: class
std::basic_stri ng<char,struct std::char_trait s<char>,class
std::allocator< char> > & __thiscall std::basic_stri ng<char,struct
std::char_trait s<char>,class std::allocator< char> >::operator+=(c har
const *)"
(??Y?$basic_str ing@DU?$char_tr aits@D@std@@V?$ allocator@D@2@@ std@@QAEAAV01@P BD@Z)
bereits in batchClassifier .obj definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: class
std::basic_stri ng<char,struct std::char_trait s<char>,class
std::allocator< char> > & __thiscall std::basic_stri ng<char,struct
std::char_trait s<char>,class std::allocator< char> >::operator+=(c har)"
(??Y?$basic_str ing@DU?$char_tr aits@D@std@@V?$ allocator@D@2@@ std@@QAEAAV01@D @Z)
bereits in configuration.o bj definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "bool __cdecl
std::uncaught_e xception(void)" (?uncaught_exce ption@std@@YA_N XZ)
bereits in libcpmt.lib(unc aught.obj) definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: bool __thiscall
std::basic_istr eam<char,struct std::char_trait s<char> >::_Ipfx(bool )"
(?_Ipfx@?$basic _istream@DU?$ch ar_traits@D@std @@@std@@QAE_N_N @Z) bereits
in configuration.o bj definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: class
std::basic_ostr eam<char,struct std::char_trait s<char> > & __thiscall
std::basic_ostr eam<char,struct std::char_trait s<char> >::flush(void )"
(?flush@?$basic _ostream@DU?$ch ar_traits@D@std @@@std@@QAEAAV1 2@XZ)
bereits in batchClassifier .obj definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: void __thiscall
std::basic_ostr eam<char,struct std::char_trait s<char> >::_Osfx(void )"
(?_Osfx@?$basic _ostream@DU?$ch ar_traits@D@std @@@std@@QAEXXZ) bereits in
batchClassifier .obj definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: void __thiscall
std::ios_base:: clear(int,bool) " (?clear@ios_bas e@std@@QAEXH_N@ Z)
bereits in libcpmt.lib(ios .obj) definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: int __thiscall
std::basic_stre ambuf<char,stru ct std::char_trait s<char>
::snextc(void) " (?snextc@?$basi c_streambuf@DU? $char_traits@D@ std@@@std@@QAEH XZ) bereits in configuration.o bj definiert msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: class
std::basic_stri ng<char,struct std::char_trait s<char>,class
std::allocator< char> > & __thiscall std::basic_stri ng<char,struct
std::char_trait s<char>,class std::allocator< char> >::append(unsig ned
int,char)"
(?append@?$basi c_string@DU?$ch ar_traits@D@std @@V?$allocator@ D@2@@std@@QAEAA V12@ID@Z)
bereits in batchClassifier .obj definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: int __thiscall
std::basic_stre ambuf<char,stru ct std::char_trait s<char> >::sgetc(void )"
(?sgetc@?$basic _streambuf@DU?$ char_traits@D@s td@@@std@@QAEHX Z) bereits
in configuration.o bj definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: unsigned int
__thiscall std::basic_stri ng<char,struct std::char_trait s<char>,class
std::allocator< char> >::max_size(voi d)const "
(?max_size@?$ba sic_string@DU?$ char_traits@D@s td@@V?$allocato r@D@2@@std@@QBE IXZ)
bereits in batchClassifier .obj definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: class
std::basic_stri ng<char,struct std::char_trait s<char>,class
std::allocator< char> > & __thiscall std::basic_stri ng<char,struct
std::char_trait s<char>,class std::allocator< char> >::erase(unsign ed
int,unsigned int)"
(?erase@?$basic _string@DU?$cha r_traits@D@std@ @V?$allocator@D @2@@std@@QAEAAV 12@II@Z)
bereits in batchClassifier .obj definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: __thiscall
std::locale::~l ocale(void)" (??1locale@std@ @QAE@XZ) bereits in
batchClassifier .obj definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: class std::locale
__thiscall std::ios_base:: getloc(void)con st "
(?getloc@ios_ba se@std@@QBE?AVl ocale@2@XZ) bereits in
batchClassifier .obj definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: int __thiscall
std::basic_stre ambuf<char,stru ct std::char_trait s<char>::sbumpc(void) " (?sbumpc@?$basi c_streambuf@DU? $char_traits@D@ std@@@std@@QAEH XZ) bereits in configuration.o bj definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: int __thiscall
std::basic_stre ambuf<char,stru ct std::char_trait s<char> >::sputc(char )"
(?sputc@?$basic _streambuf@DU?$ char_traits@D@s td@@@std@@QAEHD @Z) bereits
in batchClassifier .obj definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: char __thiscall
std::basic_ios< char,struct std::char_trait s<char> >::widen(char)c onst "
(?widen@?$basic _ios@DU?$char_t raits@D@std@@@s td@@QBEDD@Z) bereits in
batchClassifier .obj definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "bool __cdecl
std::operator== <char,struct std::char_trait s<char>,class
std::allocator< char> >(class std::basic_stri ng<char,struct
std::char_trait s<char>,class std::allocator< char> > const &,char const
*)"
(??$?8DU?$char_ traits@D@std@@V ?$allocator@D@1 @@std@@YA_NABV? $basic_string@D U?$char_traits@ D@std@@V?$alloc ator@D@2@@0@PBD @Z)
bereits in batchClassifier .obj definiert
msvcprt.lib(MSV CP71.dll) : error LNK2005: "public: __thiscall
std::basic_stri ng<char,struct std::char_trait s<char>,class
std::allocator< char> >::basic_string <char,struct
std::char_trait s<char>,class std::allocator< char> >(void)"
(??0?$basic_str ing@DU?$char_tr aits@D@std@@V?$ allocator@D@2@@ std@@QAE@XZ)
bereits in batchClassifier .obj definiert
Thanks and regards,
Sebastian