문제

I just started this simple Quantlib date class in VC++ Express 2010:

#include <iostream>
#include <sstream>

#include "ql/time/date.hpp"

int main(int, char* [])
{
     QuantLib::Date d(1, QuantLib::January, 2010);
     std::cout<<da<<std::endl;
 }

When I compiled it, this is one of the errors:

1>ql_inout.obj : error LNK2019: unresolved external symbol "public: __thiscall QuantLib::Date::Date(int,enum QuantLib::Month,int)" (??0Date@QuantLib@@QAE@HW4Month@1@H@Z) referenced in function _main

It must be something I didn't setup correctly in 2010 project. I have compiled the library in Debug mode successfully.

도움이 되었습니까?

해결책

Not all headers include the pragma that tells the linker to add QuantLib. If you don't want to include the full headers—which is advisable, as they would increase a lot your compilation time—you can add

#include <ql/auto_link.hpp>

to the included headers.

(You could also add the library explicitly to the linker options, but that is a lot more work since you have to specify different library names depending on the configuration. auto_link.hpp does this for you.)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top