Pregunta

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.

¿Fue útil?

Solución

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.)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top