Posted by
Luca Berardi on
URL: http://quantlib.414.s1.nabble.com/Compiler-poll-tp3647p3649.html
Object Handler linking problem
Hi
have a problem when linking my own project (an XLL using XLW to interface
with Excel) with the ObjectHandler library files. I'm using Visual C++ 7.1
(.net 2003).
Please note that when compiling my project in the debug mode everything works
fine, but when I compile in the release mode I get the error message below.
Any help would be greatly appreciated.
Thanks in advance.
Luca
PS: the error message follows:
------ Build started: Project: xlProfiloLibWS, Configuration: Release Win32
------
Linking...
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : error LNK2005: "public:
unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >::size(void)const " (?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ)
already defined in msvcprt.lib(MSVCP71.dll)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : error LNK2005: "public:
static char * __cdecl std::char_traits<char>::copy(char *,char const *,unsigned
int)" (?copy@?$char_traits@D@std@@SAPADPADPBDI@Z) already defined in msvcprt.lib(MSVCP71.dll)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : error LNK2005: "protected:
__thiscall std::_String_val<char,class std::allocator<char> >::_String_val<char,class
std::allocator<char> >(class std::allocator<char>)" (??0?$_String_val@DV?$allocator@D@std@@@std@@IAE@V?$allocator@D@1@@Z)
already defined in msvcprt.lib(MSVCP71.dll)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : 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@@std@@QBEIXZ)
already defined in msvcprt.lib(MSVCP71.dll)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : error LNK2005: "protected:
void __thiscall std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >::_Tidy(bool,unsigned int)" (?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z)
already defined in msvcprt.lib(MSVCP71.dll)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : 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> >::erase(unsigned int,unsigned int)" (?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z)
already defined in msvcprt.lib(MSVCP71.dll)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : 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 msvcprt.lib(MSVCP71.dll)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : 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 std::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 msvcprt.lib(MSVCP71.dll)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : 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 *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : 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 std::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 msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : 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 *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : 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 msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : 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@@QBEPBDXZ)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : error LNK2005: "public: static char * __cdecl std::char_traits<char>::copy(char
*,char const *,unsigned int)" (?copy@?$char_traits@D@std@@SAPADPADPBDI@Z)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : error LNK2005: "public: unsigned int __thiscall
std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>::size(void)const " (?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : error LNK2005: "protected: void __thiscall std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >::_Tidy(bool,unsigned
int)" (?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : error LNK2005: "protected: __thiscall std::_String_val<char,class
std::allocator<char> >::_String_val<char,class std::allocator<char> >(class
std::allocator<char>)" (??0?$_String_val@DV?$allocator@D@std@@@std@@IAE@V?$allocator@D@1@@Z)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : 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> >::erase(unsigned int,unsigned
int)" (?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z)
already defined in msvcprt.lib(MSVCP71.dll)
libcpd.lib(string.obj) : 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@@std@@QBEIXZ)
already defined in msvcprt.lib(MSVCP71.dll)
msvcprt.lib(MSVCP71.dll) : error LNK2005: "bool __cdecl std::operator<<char,struct
std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > const &)" (??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
already defined in ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj)
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : warning LNK4006: "public:
unsigned int __thiscall std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >::size(void)const " (?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : warning LNK4006: "public:
static char * __cdecl std::char_traits<char>::copy(char *,char const *,unsigned
int)" (?copy@?$char_traits@D@std@@SAPADPADPBDI@Z) already defined in msvcprt.lib(MSVCP71.dll);
second definition ignored
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : warning LNK4006: "protected:
__thiscall std::_String_val<char,class std::allocator<char> >::_String_val<char,class
std::allocator<char> >(class std::allocator<char>)" (??0?$_String_val@DV?$allocator@D@std@@@std@@IAE@V?$allocator@D@1@@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : warning LNK4006: "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@@std@@QBEIXZ)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : warning LNK4006: "protected:
void __thiscall std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> >::_Tidy(bool,unsigned int)" (?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : warning LNK4006: "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> >::erase(unsigned int,unsigned int)" (?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : 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_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : 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 std::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 msvcprt.lib(MSVCP71.dll); second definition ignored
ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj) : 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 *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : 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 std::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 msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : 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 *)" (??0?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@PBD@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : 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_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAE@XZ)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : 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 msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : warning LNK4006: "public: static char * __cdecl
std::char_traits<char>::copy(char *,char const *,unsigned int)" (?copy@?$char_traits@D@std@@SAPADPADPBDI@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : warning LNK4006: "public: unsigned int __thiscall
std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
>::size(void)const " (?size@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QBEIXZ)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : warning LNK4006: "protected: void __thiscall std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> >::_Tidy(bool,unsigned
int)" (?_Tidy@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@IAEX_NI@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : warning LNK4006: "protected: __thiscall std::_String_val<char,class
std::allocator<char> >::_String_val<char,class std::allocator<char> >(class
std::allocator<char>)" (??0?$_String_val@DV?$allocator@D@std@@@std@@IAE@V?$allocator@D@1@@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : warning LNK4006: "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> >::erase(unsigned int,unsigned
int)" (?erase@?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@QAEAAV12@II@Z)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
libcpd.lib(string.obj) : warning LNK4006: "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@@std@@QBEIXZ)
already defined in msvcprt.lib(MSVCP71.dll); second definition ignored
msvcprt.lib(MSVCP71.dll) : warning LNK4006: "bool __cdecl std::operator<<char,struct
std::char_traits<char>,class std::allocator<char> >(class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > const &)" (??$?MDU?$char_traits@D@std@@V?$allocator@D@1@@std@@YA_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@0@Z)
already defined in ObjectHandler-vc71-mt-0_1_0.lib(objecthandler.obj); second
definition ignored
Creating library .\Release/xlProfiloLib.lib and object .\Release/xlProfiloLib.exp
MSVCRT.lib(cinitexe.obj) : warning LNK4098: defaultlib 'libcd.lib' conflicts
with use of other libs; use /NODEFAULTLIB:library
mStrikeTreeSwaption.obj : error LNK2001: unresolved external symbol "public:
virtual void __thiscall QuantLib::Lattice::discountTo(class QuantLib::DiscretizedAsset
&,double)const " (?discountTo@Lattice@QuantLib@@UBEXAAVDiscretizedAsset@2@N@Z)
Debug/xlProfiloLib.xll : fatal error LNK1120: 1 unresolved externals
__________________________________________________________________
Tiscali Adsl 3 Mega Flat con 3 MESI GRATIS!
Con Tiscali Adsl 3 Mega Flat navighi con la Supervelocita'
a soli 29.95 euro al mese, senza limiti di tempo. E se attivi
entro il 31 Marzo, 3 MESI sono GRATIS!
Scopri come su
http://abbonati.tiscali.it/adsl/sa/2flat_tc/