Compilation errors with Microsoft VC71

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Compilation errors with Microsoft VC71

Nicolas VILLERET
Hello,

I am now working with VC71 (and using Boost and QuantLib libraries generated
with VC71), but at linking I get such following messages :

"Édition des liens en cours...

LINK : warning LNK4075: ' /EDITANDCONTINUE' ignoré à cause de la
spécification '/INCREMENTAL:NO'

QuantLib-vc71-mt-gd-0_3_8.lib(errors.obj) : warning LNK4217: symbole défini
localement
??0runtime_error@std@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@1@@Z
(public: __thiscall std::runtime_error::runtime_error(class
std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> > const &)) importé dans la fonction "void __cdecl
boost::assertion_failed(char const *,char const *,char const *,long)"
(?assertion_failed@boost@@YAXPBD00J@Z)

QuantLib-vc71-mt-gd-0_3_8.lib(parcoupon.obj) : error LNK2001: symbole
externe non résolu "class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > __cdecl
std::operator+(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 &)"
(??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z)

QuantLib-vc71-mt-gd-0_3_8.lib(bond.obj) : error LNK2019: symbole externe non
résolu "class std::basic_string<char,struct std::char_traits<char>,class
std::allocator<char> > __cdecl std::operator+(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 &)"
(??Hstd@@YA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@0@ABV10@0@Z)
référencé dans la fonction "public: double __thiscall
QuantLib::Solver1D<class QuantLib::Brent>::solve(class QuantLib::`anonymous
namespace'::YieldFinder const &,double,double,double,double)const "
(?solve@?$Solver1D@VBrent@QuantLib@@@QuantLib@@QBENABVYieldFinder@?%c:\program
files\quantlib\ql\instruments\bond.cpp222853096@2@NNNN@Z)"

As I have listed the libraries I am using in this order :

$(VCInstallDir)lib
$(VCInstallDir)atlmfc\lib
$(VCInstallDir)PlatformSDK\lib\prerelease
$(VCInstallDir)PlatformSDK\lib
$(FrameworkSDKDir)lib
C:\Boost\lib
C:\Program Files\QuantLib\lib

I do not understand why the operator+ isn't found.

I didn't have any of these errors when I was entirely working in the VC6
environment.
Does anybody have any hint about what is happening ? When compiling the
QuantLib option examples, I also get such linking errors...

Regards,

Nicolas