一、下载boost库
boost官方网址:https://www.boost.org
下载最新版本
下载历史版本
因为我要编译的是windows平台,所以下载了boost_1_82_0.zip。
二、bjam
boost库自带一套编译工具bjam,bjam本身也是跨平台的,也需要自行编译出来。解压我们下载的boost_1_82_0.zip文件,在目录下有bootstrap.sh和bootstrap.bat两个脚本文件,它们分别用来编译unix和windows下的bjam。
三、编译bjam
用管理员权限打开VisualStudio的命令行工具,进入到boost文件解压后的根目录,输入命令:./bootstrap.bat,在当前目录下会生成一个b2.exe文件。
四、b2.exe参数说明
-
stage:生成链接库(动态库或静态库)到statedir中。(不含头文件)
-
--stagedir=:在stage生成模式下的输出目录,支持相对路径。
-
install:生成链接库(动态库或静态库)到prefix/lib中,并将头文件放到prefix/include中
-
--prefix=:在install生成模式下的输出目录。
-
--build-type=:构建指定的预定义库。
-
complete:构建所有可能的变体。
-
-
--build-dir=:设置编译过程中间产物的存放路径。
-
--show-libraries:显示需要构建和安装步骤的boost库列表,然后退出。
-
--layout=:确定是否选择库名和头位置,以便在同一系统上可以使用多版本的boost或多个编译器。
-
versioned:boost二进制文件的名称包括boost版本号、编译器的名称和版本以及编码的构建属性。
-
-
--help:帮助文档
-
--with-:编译哪些库,例如--with-wave --with-test,表示只编译wave和test库。
-
--without-:排除哪些库,例如--without-wave --without-test,表示除了wave库和test库其它都编译。
-
toolset=:指定编译器。b2.exe会自行检索当前系统下的编译器,如果该参数为缺省值,那么b2.exe将使用boost源码根目录下的project-config.jam文件中的第一个编译器。
-
msvc-12.0:vs2013
-
msvc-14.0:vs2015
-
msvc-14.1:vs2017
-
msvc-14.2:vs2019
-
gcc:linux
-
-
variant=:设置生成的库是调试版本还是发布版本。默认值为release debug即两者都编译。
-
debug:调试版本
-
release:发布版本
-
-
link=:设置生成的库是动态库还是静态库。默认值为satic。
-
static:静态链接库
-
shared:动态链接库
-
-
threading=:设置是否支持多线程(线程安全)。默认值为multi。
-
single:单线程
-
multi:多线程
-
-
runtime-link=:设置运行时库的链接方式。默认shared。
-
static:静态链接
-
shared:动态链接
-
-
address-model=:设置生成的库地址模式,是32位还是64位。默认两者都编译。
-
32:32位
-
64:64位
-
-
--project-config=:加载指定项目配置文件。默认值为project-config.jam。
五、通过b2.exe编译boost库
打开cmd命令行工具,进入到boost文件解压后的根目录,输入命令,编译对应的配置。
-
vs2015-debug-32位
-
输入命令:./b2 install --prefix="./build/vs2015_debug_win32" --build-type=complete --toolset=msvc-14.0 variant=debug link=shared threading=multi runtime-link=shared address-model=32
-
-
vs2015-release-32位
-
输入命令:./b2 install --prefix="./build/vs2015_release_win32" --build-type=complete --toolset=msvc-14.0 variant=release link=shared threading=multi runtime-link=shared address-model=32
-
-
vs2015-debug-64位
-
输入命令:./b2 install --prefix="./build/vs2015_debug_x64" --build-type=complete --toolset=msvc-14.0 variant=debug link=shared threading=multi runtime-link=shared address-model=64
-
-
vs2015-release-64位
-
输入命令:./b2 install --prefix="./build/vs2015_release_x64" --build-type=complete --toolset=msvc-14.0 variant=release link=shared threading=multi runtime-link=shared address-model=64
-