我刚刚在VC ++ Express 2010中启动了这个简单的Quantlib日期类:
#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;
}
编译时,这是错误之一:
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
一定是我在2010年的项目中没有正确设置的东西。我已经成功地在调试模式下编译了库。
答案 0 :(得分:1)
并非所有标头都包含告诉链接器添加QuantLib的pragma。如果你不想包含完整的标题 - 这是可取的,因为它们会增加你的编译时间 - 你可以添加
#include <ql/auto_link.hpp>
包含的标题。
(您也可以将库显式添加到链接器选项中,但由于您必须根据配置指定不同的库名称,因此需要做更多工作。auto_link.hpp
为您执行此操作。)