第一步:安装及调试Boost 1.37.0
- 假定你把下载好的boost 1.37.0解压缩至C:/boost_1_37_0,以管理员身份打开Command Prompt,并将盘符指向C:/boost_1_37_0/tools/jam/src,运行build.bat,这将产生一下要用的bjam.exe文件。
- 将盘符指向C:/boost_1_37_0,运行以下命令
tools/jam/src/bin.ntx86/bjam.exe –build-type=complete
这将花将近一个小时的时间,请耐心等候。
- 完成后接着运行以下命令:
tools/jam/src/bin.ntx86/bjam.exe –-build-type=complete install
这又将花掉半个至一个小时时间。成功后你将看到一个新文件夹C:/Boost.
- 此文件夹将占用多大3个多G的空间,你可以把上述Boost文件夹转移到其他盘符。例如我转移到了E:/Boost,下面的调试以此路径为例。
- 打开Visual C++ Express 2008,选择“工具/选项/项目和解决方案/VC++ 目录”,在最右边下拉菜单中选择“包含文件”,添加新目录“E:/Boost/include/boost-1_37”;重新选择“库文件”,并添加新目录“E:/Boost/lib”。这样做的好处在于一劳永逸,不用再对单个项目进行Boost配置了。
- 诸位如有兴趣可以找下面网页上的例子测试一下Boost是否正常运行。
http://www.boost.org/doc/libs/1_37_0/more/getting_started/windows.html
第二步:安装、配置及调试QuantLib-0.9.7
郑重申明:先确保Boost安装正确,再继续下面的过程!
- 假定你将QuantLib解压缩至E:/QuantLib-0.9.7,打开该文件夹找到“QuantLib_vc9.sln”,双击打开。
- 根据quantLib.org网页上的提示,你可能需要将QuantLib/userconfig.hpp做些许修改。将一些语句uncomment一下。
- 这时关键性的一步是找到主菜单上“生成/配置管理器”,确保活动解决方案配置为“Release (static runtime)”!
- 最后press F7,生成整个解决方案。耐心等待,大概又得花上半把个小时!最后成功的话,应该是13个项目通过。这里,testsuite有些许小问题,这个下面会提到。
- 接着,运行每个项目,以“Bonds”为例。将“Bonds”设为启动项目,press “Ctrl+F5”即可。
- 至此,QuantLib运行正常,除了testsuite有些许bug外,具体原因不知,问题可能出在函数
Integer sessionId()
有待进一步讨论。
第三步:外部项目、解决方案调用QuantLib
外部项目、解决方案若需调用QuantLib只需对该项目、解决方案做些许配置即可,具体如下:
- 右击该项目找到“属性/配置属性/C/C++/常规”,在右侧“附加包含目录”中添加“E:/QuantLib-0.9.7”;找到“代码生成”,右侧“运行库”中选择“多线程(/MT)”;再找到“链接器/常规”,在右侧“附加库目录”中添加“E:/QuantLib-0.9.7/lib”。
- 在外部项目头文件中添加“#include <ql/quantlib.hpp>”;当然你可以有选择添加hpp文件,比如
#include <ql/math/integrals/trapezoidintegral.hpp>
#include <ql/auto_link.hpp> - 再编译运行,应该没问题了。如果有,应该还是前面提到过的问题。
至此大功告成!!>_<