文章目录

QuantLib 是一个基于 boost 的 Quant 程序库。QuantLib 的安装比较简单1,本文在 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 来编译。

接下来,就是makemake 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

如果安装正常,编译和运行都不会报错。

文章目录

欢迎来到Valleylord的博客!

本博的文章尽量原创。