From: Drew D. <dau...@um...> - 2003-05-07 16:07:06
|
Hi I have successfully compiled log4cpp release 0.3.4b with MS Visual Studio 6.0 and get the following linker errors when I try to include the library in my project: Linking... msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_strin g@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) already defined in apidemoDlg.obj msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *,class basic_ string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDABV?$allocator@D@1@@Z) already defined in apidemoDlg.obj msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_string<char,s truct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z) already defined in libcp mtd.lib(string.obj) msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: __thiscall std::logic_error::logic_error(class logic_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0logic_error@std@@QAE@ABV?$basic_string@DU?$ch ar_traits@D@std@@V?$allocator@D@2@@1@@Z) already defined in libcpmtd.lib(string.obj) msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: virtual __thiscall std::logic_error::~logic_error(void)" (??1logic_error@std@@UAE@XZ) already defined in libcpmtd.lib(string.obj) msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: __thiscall std::logic_error::logic_error(class logic_error::logic_error const &)" (??0logic_error@std@@QAE@ABV01@@Z) already defined in libcpmtd.lib(string.obj) msvcprtd.lib(MSVCP60D.dll) : error LNK2005: "public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::c_str(void)const " (?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@Q BEPBDXZ) already defined in libcpmtd.lib(string.obj) MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: __vsnprintf already defined in libcmtd.lib(vsnprint.obj) MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _strtol already defined in libcmtd.lib(strtol.obj) MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: _sprintf already defined in libcmtd.lib(sprintf.obj) MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: __close already defined in libcmtd.lib(close.obj) MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: __write already defined in libcmtd.lib(write.obj) msvcprtd.lib(MSVCP60D.dll) : warning LNK4006: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::~basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(void)" (??1?$basic_str ing@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ) already defined in apidemoDlg.obj; second definition ignored msvcprtd.lib(MSVCP60D.dll) : warning LNK4006: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(char const *,class basi c_string<char,struct std::char_traits<char>,class std::allocator<char> >::allocator<char> const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBDABV?$allocator@D@1@@Z) already defined in apidemoDlg.obj; second definition i gnored msvcprtd.lib(MSVCP60D.dll) : warning LNK4006: "public: __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >(class basic_string<char ,struct std::char_traits<char>,class std::allocator<char> >::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@ABV01@@Z) already defined in lib cpmtd.lib(string.obj); second definition ignored msvcprtd.lib(MSVCP60D.dll) : warning LNK4006: "public: __thiscall std::logic_error::logic_error(class logic_error::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (??0logic_error@std@@QAE@ABV?$basic_string@DU?$ char_traits@D@std@@V?$allocator@D@2@@1@@Z) already defined in libcpmtd.lib(string.obj); second definition ignored msvcprtd.lib(MSVCP60D.dll) : warning LNK4006: "public: virtual __thiscall std::logic_error::~logic_error(void)" (??1logic_error@std@@UAE@XZ) already defined in libcpmtd.lib(string.obj); second definition ignored msvcprtd.lib(MSVCP60D.dll) : warning LNK4006: "public: __thiscall std::logic_error::logic_error(class logic_error::logic_error const &)" (??0logic_error@std@@QAE@ABV01@@Z) already defined in libcpmtd.lib(string.obj); second definition ignored msvcprtd.lib(MSVCP60D.dll) : warning LNK4006: "public: char const * __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::c_str(void)const " (?c_str@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@ @QBEPBDXZ) already defined in libcpmtd.lib(string.obj); second definition ignored MSVCRTD.lib(MSVCRTD.dll) : warning LNK4006: __vsnprintf already defined in libcmtd.lib(vsnprint.obj); second definition ignored MSVCRTD.lib(MSVCRTD.dll) : warning LNK4006: _strtol already defined in libcmtd.lib(strtol.obj); second definition ignored MSVCRTD.lib(MSVCRTD.dll) : warning LNK4006: _sprintf already defined in libcmtd.lib(sprintf.obj); second definition ignored MSVCRTD.lib(MSVCRTD.dll) : warning LNK4006: __close already defined in libcmtd.lib(close.obj); second definition ignored MSVCRTD.lib(MSVCRTD.dll) : warning LNK4006: __write already defined in libcmtd.lib(write.obj); second definition ignored Creating library Debug/apidemo.lib and object Debug/apidemo.exp LINK : warning LNK4098: defaultlib "MSVCRTD" conflicts with use of other libs; use /NODEFAULTLIB:library Debug/apidemo.exe : fatal error LNK1169: one or more multiply defined symbols found Error executing link.exe. apidemo.exe - 13 error(s), 13 warning(s) Am I missing something? Trying to exclude any of the libraries identified as containing duplicate symbols (notably the MSVCRTD library) only results in unresolved symbol errors. -drew |