Bugs item #1143732, was opened at 2005-02-18 13:01
Message generated for change (Comment added) made by nando You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112740&aid=1143732&group_id=12740 Category: None Group: None >Status: Closed Resolution: None Priority: 5 Submitted By: Chi-Wai C Lee (chiwai_lee) Assigned to: Nobody/Anonymous (nobody) Summary: VC6 Compliation Error Initial Comment: Hi there, I am new to QuantLib 0.3.7 which now requires boost. I tried to complie the testsuite files under MS VC++ 6.0 and got the following errors. Can anybody tell me what have I done wrong? --------------------Configuration: testsuite - Win32 Release-------------------- Linking... msvcprt.lib(MSVCP60.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_string@ DU?$char_traits@D@std@@V? $allocator@D@2@@std@@QAE@XZ) already defined in americanoption.obj msvcprt.lib(MSVCP60.dll) : error LNK2005: "private: bool __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Grow(unsigned int,bool)" (?_Grow@? $basic_string@DU?$char_traits@D@std@@V? $allocator@D@2@@std@@AAE _NI_N@Z) already defined in americanoption.obj msvcprt.lib(MSVCP60.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_st ring<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 americanoption.obj msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(char co nst *,unsigned int)" (?assign@?$basic_string@DU? $char_traits@D@std@@V? $allocator@D@2@@std@@QAEAAV12@PBDI@Z) already defined in americanoption.obj msvcprt.lib(MSVCP60.dll) : error LNK2005: "private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Tidy(bool)" (?_Tidy@?$basic_string@DU? $char_traits@D@std@@V? $allocator@D@2@@std@@AAEX_N@Z) alread y defined in americanoption.obj msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::assign(class s td::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int)" (?assign@? $basic_string@DU?$char_traits@D@std@@V? $allocator@D@2@@std@@QAEAAV12@ABV12@II@Z) already defined in americanoption.obj msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: __thiscall std::ios_base::Init::Init(void)" (?? 0Init@ios_base@std@@QAE@XZ) already defined in libcpmt.lib(iostream.obj) msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: __thiscall std::ios_base::Init::~Init(void)" (?? 1Init@ios_base@std@@QAE@XZ) already defined in libcpmt.lib(iostream.obj) msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: __thiscall std::_Winit::_Winit(void)" (?? 0_Winit@std@@QAE@XZ) already defined in libcpmt.lib (wiostrea.obj) msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: __thiscall std::_Winit::~_Winit(void)" (?? 1_Winit@std@@QAE@XZ) already defined in libcpmt.lib (wiostrea.obj) msvcprt.lib(MSVCP60.dll) : error LNK2005: "private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Eos(unsigned int)" (?_Eos@?$basic_string@DU? $char_traits@D@std@@V? $allocator@D@2@@std@@AAEXI@Z) a lready defined in americanoption.obj msvcprt.lib(MSVCP60.dll) : error LNK2005: "private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Copy(unsigned int)" (?_Copy@?$basic_string@DU? $char_traits@D@std@@V? $allocator@D@2@@std@@AAEXI@Z) already defined in americanoption.obj msvcprt.lib(MSVCP60.dll) : error LNK2005: "void __cdecl std::_Xlen(void)" (?_Xlen@std@@YAXXZ) already defined in libcpmt.lib(string.obj) msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::max_size(void)const " (?max_size@? $basic_string@DU?$char_traits@D@std@@V? $allocator@D@2@@st d@@QBEIXZ) already defined in americanoption.obj msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > & __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::append(class s td::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,unsigned int,unsigned int)" (?append@? $basic_string@DU?$char_traits@D@std@@V? $allocator@D@2@@std@@QAEAAV12@ABV12@II@Z) already defined in matrices.obj msvcprt.lib(MSVCP60.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,str uct 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 libboos t_unit_test_framework-vc6-mt-s-1_32.lib (unit_test_log.obj) msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::substr(unsigned int,unsigned int)const " (?substr@?$basic_string@DU? $char_traits@D@std@@V? $allocator@D@2@@std@@QBE?AV12@II@Z) already defined in libboost_unit_test_framework-vc6-mt-s- 1_32.lib(test_tools.obj) msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: void __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::`vbase destructor'(void)" (??_D? $basic_ostringstream@DU?$char_traits@D@std@@V? $allocator@D@2 @@std@@QAEXXZ) already defined in americanoption.obj msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: virtual __thiscall std::basic_ostream<char,struct std::char_traits<char> >::~basic_ostream<char,struct std::char_traits<char> >(void)" (??1? $basic_ostream@DU? $char_traits@D@std@@@std@@UAE@XZ) alread y defined in americanoption.obj msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: virtual __thiscall std::basic_ios<char,struct std::char_traits<char> >::~basic_ios<char,struct std::char_traits<char> >(void)" (??1?$basic_ios@DU? $char_traits@D@std@@@std@@UAE@XZ) already defined in americanoption.obj msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: virtual __thiscall std::ios_base::~ios_base(void)" (?? 1ios_base@std@@UAE@XZ) already defined in libcpmt.lib (ios.obj) msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: virtual __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::~basic_streambuf<char,struct std::char_traits<char> >(void)" (??1? $basic_streambuf@DU? $char_traits@D@std@@@std@@UAE@XZ) already defined in americanoption.obj msvcprt.lib(MSVCP60.dll) : error LNK2005: "protected: void __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::_Tidy(void)" (?_Tidy@?$basic_stringbuf@DU? $char_traits@D@std@@V? $allocator@D@2@@std@@IAEXXZ) already defined in europeanoption.obj msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > __thiscall std::basic_ostringstream<char,struct std::char_traits<char>,class std::allocator<char> >::str (void )const " (?str@?$basic_ostringstream@DU? $char_traits@D@std@@V? $allocator@D@2@@std@@QBE?AV?$basic_string@DU? $char_traits@D@std@@V?$allocator@D@2@@2@XZ) already defined in libboost_unit_test_framework-vc6-mt- s-1_32.lib(test_tools.obj) msvcprt.lib(MSVCP60.dll) : error LNK2005: "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > &,char const *)" (??6std@@YAAAV? $basic_ostream@DU?$char_ traits@D@std@@@0@AAV10@PBD@Z) already defined in americanoption.obj msvcprt.lib(MSVCP60.dll) : error LNK2005: "protected: void __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::_Init(char const *,unsigned int,int)" (?_Init@? $basic_stringbuf@DU?$char_traits@D@std@@V?$all ocator@D@2@@std@@IAEXPBDIH@Z) already defined in americanoption.obj msvcprt.lib(MSVCP60.dll) : error LNK2005: "private: int __thiscall std::basic_stringbuf<char,struct std::char_traits<char>,class std::allocator<char> >::_Mode(int)" (?_Mode@?$basic_stringbuf@DU? $char_traits@D@std@@V? $allocator@D@2@@std@@AAEHH@Z) alr eady defined in asianoptions.obj msvcprt.lib(MSVCP60.dll) : error LNK2005: "protected: __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> >(void)" (??0? $basic_streambuf@DU? $char_traits@D@std@@@std@@IAE@XZ) alread y defined in asianoptions.obj msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: __thiscall std::basic_ostream<char,struct std::char_traits<char> >::basic_ostream<char,struct std::char_traits<char> >(class basic_ostream<char,struct std::char_traits<char> >::basic_streambuf<char, struct std::char_traits<char> > *,bool,bool)" (??0? $basic_ostream@DU? $char_traits@D@std@@@std@@QAE@PAV? $basic_streambuf@DU? $char_traits@D@std@@@1@_N1@Z) already defined in cliquetoption.obj msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: __thiscall std::_Lockit::~_Lockit(void)" (?? 1_Lockit@std@@QAE@XZ) already defined in libcpmt.lib (xlock.obj) msvcprt.lib(MSVCP60.dll) : error LNK2005: "public: __thiscall std::_Lockit::_Lockit(void)" (?? 0_Lockit@std@@QAE@XZ) already defined in libcpmt.lib (xlock.obj) msvcprt.lib(MSVCP60.dll) : error LNK2005: "private: void __thiscall std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >::_Split(void)" (?_Split@?$basic_string@DU? $char_traits@D@std@@V? $allocator@D@2@@std@@AAEXXZ) alread y defined in americanoption.obj msvcprt.lib(MSVCP60.dll) : error LNK2005: "void __cdecl std::_Xran(void)" (?_Xran@std@@YAXXZ) already defined in libcpmt.lib(string.obj) MSVCRT.lib(MSVCRT.dll) : error LNK2005: "public: virtual __thiscall exception::~exception(void)" (?? 1exception@@UAE@XZ) already defined in LIBCMT.lib (stdexcpt.obj) MSVCRT.lib(MSVCRT.dll) : error LNK2005: "public: __thiscall exception::exception(class exception const &)" (??0exception@@QAE@ABV0@@Z) already defined in LIBCMT.lib(stdexcpt.obj) MSVCRT.lib(MSVCRT.dll) : error LNK2005: "public: int __thiscall type_info::operator==(class type_info const &) const " (??8type_info@@QBEHABV0@@Z) already defined in LIBCMT.lib(typinfo.obj) MSVCRT.lib(MSVCRT.dll) : error LNK2005: _sprintf already defined in LIBCMT.lib(sprintf.obj) MSVCRT.lib(MSVCRT.dll) : error LNK2005: _tolower already defined in LIBCMT.lib(tolower.obj) MSVCRT.lib(MSVCRT.dll) : error LNK2005: _toupper already defined in LIBCMT.lib(toupper.obj) MSVCRT.lib(MSVCRT.dll) : error LNK2005: "public: __thiscall exception::exception(char const * const &)" (??0exception@@QAE@ABQBD@Z) already defined in LIBCMT.lib(stdexcpt.obj) MSVCRT.lib(MSVCRT.dll) : error LNK2005: "public: __thiscall exception::exception(void)" (?? 0exception@@QAE@XZ) already defined in LIBCMT.lib (stdexcpt.obj) MSVCRT.lib(MSVCRT.dll) : error LNK2005: _memmove already defined in LIBCMT.lib(memmove.obj) libcpmt.lib(locale.obj) : error LNK2005: "public: class std::locale & __thiscall std::locale::_Addfac(class std::locale::facet *,unsigned int,unsigned int)" (? _Addfac@locale@std@@QAEAAV12@PAVfacet@12@II@Z ) already defined in msvcprt.lib(MSVCP60.dll) libcpmt.lib(locale.obj) : error LNK2005: "public: __thiscall std::_Locinfo::_Locinfo(char const *)" (?? 0_Locinfo@std@@QAE@PBD@Z) already defined in msvcprt.lib(MSVCP60.dll) libcpmt.lib(locale.obj) : error LNK2005: "public: __thiscall std::_Locinfo::~_Locinfo(void)" (?? 1_Locinfo@std@@QAE@XZ) already defined in msvcprt.lib(MSVCP60.dll) libcpmt.lib(xwctomb.obj) : error LNK2005: __Getcvt already defined in msvcprt.lib(MSVCP60.dll) LINK : warning LNK4098: defaultlib "MSVCRT" conflicts with use of other libs; use /NODEFAULTLIB:library build\Release/testsuite.exe : fatal error LNK1169: one or more multiply defined symbols found Error executing link.exe. testsuite.exe - 47 error(s), 1 warning(s) Many thanks. Regards, Chi-Wai ---------------------------------------------------------------------- >Comment By: Ferdinando Ametrano (nando) Date: 2005-02-18 14:09 Message: Logged In: YES user_id=34616 you're probably mixing up runtime libraries with static libraries, something which shouldn't happen if you build QuantLib and Boost as they are out of the box. BTW why using 0.3.7 if you're new to QuantLib? just use the last version available, which is 0.3.8 Try again: 1) get the latest service pack for VC6 (version 5 or 6) 2) upgrade to QuantLib 0.3.8 3) download and build Boost 1.32 4) build QuantLib please write on the user mailing list about any further problem. thank you ciao -- Nando ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=112740&aid=1143732&group_id=12740 |
Free forum by Nabble | Edit this page |