Windows
本页详细介绍在windows下的编译调试工作
前期准备
C++编译器,建议Visual Studio 2015
python,推荐使用Ananconda
cmake >= 3.0.0
boost >= 1.58.0
编译指令
build_windows.bat
用户可以看到,在build_windows.bat
文件的头部,有以下参数变量需要设置:
set BOOST_ROOT=D:\dev\boost_1_65_1
set BOOST_LIBRARYDIR=D:\dev\boost_1_65_1\lib64-msvc-14.0
set INCLUDE=%BOOST_ROOT%;D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include
set QL_DIR=%CD%\QuantLib
set QLEXT_DIR=%CD%\QuantLib-Ext
set BUILD_TYPE=Release
set ADDRESS_MODEL=Win64
set MSVC_RUNTIME=dynamic
set VS_VERSION=Visual Studio 14 2015
其中:
BOOST_ROOT:boost的根目录
BOOST_LIBRARYDIR:boost库文件根目录
INCLUDE:c/c++编译器的头文件寻找目录
QL_DIR:quantlib项目根目录
QLEXT_DIR:quantlibext项目根目录
BUILD_TYPE:编译类型
ADDRESS_MODEL:32位或者64位选择
MSVC_RUNTIME:c/c++运行时链接类型
VS_VERSION:Visual Studio版本
大部分变量只需保留原值,一般来说用户只需指定下面的变量指向正确的位置:
set BOOST_ROOT=D:\dev\boost_1_65_1
set BOOST_LIBRARYDIR=D:\dev\boost_1_65_1\lib64-msvc-14.0
set INCLUDE=%BOOST_ROOT%;D:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\include
调试方法
同样的按照上面的方法编译,只是需要将编译类型改为调试模式:
set BUILD_TYPE=Debug
在编译完成以后,我们就得到了带debug信息的可运行文件。这个时候就可以使用各种熟悉的可视化工具进行debug。下面我们以Visual Studio Code为例,介绍如何进行debug。
在Visual Sutdio Code中打开项目目录:
安装c/c++编译调试组件,安装完成后重启编辑器
配置调试
假设我们要调试QuantLib/examples/Bonds的例子,我们在debug窗口下创建新的配置:
选择c/c++(windows)
输入配置信息,例如:
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "example_bond",
"type": "cppvsdbg",
"request": "launch",
"program": "${workspaceFolder}/QuantLib/build/examples/Bonds/Debug/Bonds.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true
}
]
}
最重要的是上面的program信息,需要指向需要调试的可运行文件,然后保存。
设置断点调试
在QuantLib/example/Bonds.cpp文件中设置断点,然后启动调试器:

即可进入调试:

Last updated