2

我刚刚在 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 年项目中没有正确设置的东西。我已经成功地在调试模式下编译了库。

4

1 回答 1

2

并非所有标题都包含告诉链接器添加 QuantLib 的编译指示。如果你不想包含完整的头文件——这是可取的,因为它们会增加你的编译时间——你可以添加

#include <ql/auto_link.hpp>

到包含的标题。

(您也可以将库显式添加到链接器选项中,但这需要更多工作,因为您必须根据配置指定不同的库名称。auto_link.hpp为您执行此操作。)

于 2014-04-17T07:20:52.457 回答