文章目录
QuantLib 是一个基于 boost 的 Quant 程序库。QuantLib 的安装比较简单,本文在 Ubuntu上安装 Quantlib1.7.1。
解包 QuantLib-1.7.tar.gz 后,使用./configure
来配置编译环境,也可以用./configure --help
来查看参数选项。
1 2 3 4
| ./configure --with-boost-include=/usr/program/program/boost-1.60/include/boost-1_60 \ --with-boost-lib=/usr/program/program/boost-1.60/lib \ --prefix=/usr/program/program/quantlib-1.7.1 \ CC=clang CXX=clang++
|
本文使用 clang3.6 来编译,boost 库的版本是比较新的1.60,实际 configure 的时候显示 boost 的版本只要大于1.39即可。其中--with-boost-include
和--with-boost-lib
是 boost 库的头文件和库文件的路径,--prefix
是安装时的安装目录,CC=clang CXX=clang++
是指定使用 clang 来编译。
接下来,就是make
和make install
,即可完成安装。我在编译的时候,有错误发生,
1 2 3 4
| zabr.o: In function `ZabrTest::suite()': /home/arnes/download/quantlib/QuantLib-1.7/test-suite/zabr.cpp:92: undefined reference to `boost::unit_test::test_suite::test_suite(boost::unit_test::basic_cstring<char const>, boost::unit_test::basic_cstring<char const>, unsigned long)' collect2: error: ld returned 1 exit status make[1]: *** [quantlib-test-suite] 错误 1
|
不过,这似乎并不影响QuantLib的安装。如果需要让编译器默认找到的话,还需要配置环境变量,
1 2 3 4 5
| export C_INCLUDE_PATH=/usr/program/program/quantlib-1.7.1/include:$C_INCLUDE_PATH export CPLUS_INCLUDE_PATH=/usr/program/program/quantlib-1.7.1/include:$CPLUS_INCLUDE_PATH export LD_LIBRARY_PATH=/usr/program/program/quantlib-1.7.1/lib:$LD_LIBRARY_PATH export LIBRARY_PATH=/usr/program/program/quantlib-1.7.1/lib:$LIBRARY_PATH
|
完成之后,就可以使用QuantLib,尝试编译QuantLib目录下的示例程序,
1 2 3
| cd Examples/BermudanSwaption clang++ BermudanSwaption.cpp -o BermudanSwaption -lQuantLib ./BermudanSwaption
|
如果安装正常,编译和运行都不会报错。