如何编译boost库

一、下载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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值