Boost 编译

显示所有的需要编译才能使用的库

b2 --show-libraries

命令:

b2 stage --toolset=msvc-14.3 --with-log --stagedir="d:\Program\boost_Lib" link=shared runtime-link=shared threading=multi variant=debug address-model=64 define=_WIN32_WINNT=0x0602 -a
define=BOOST_USE_WINAPI_VERSION=BOOST_WINAPI_VERSION_WINXP 
define=_WIN32_WINNT=0x0501 
define=BOOST_USE_WINDOWS_H

define=_WIN32_WINNT=0x0601 define=BOOST_USE_WINAPI_VERSION=0x0601 define=BOOST_USE_WINDOWS_H

解释:

参数: --toolset=msvc-11.0

msvc版本是14.3即VS2022. 库的名称中包含此版本143, 例如:  libboost_log-vc143-mt-1_79.lib

参数: link=static

boost静态库,库的名称以libboost开头; 例如: libboost_log-vc143-mt-1_79.lib

该参数可选的取值为:  "shared" "static"

参数: runtime-link=static

系统运行库以静态方式加载. 生成的库命名中有"s"; 例如: libboost_log-vc143-mt-sgd-1_79.lib

若参数改为 runtime-link=shared , 则 msvc的运行库,以共享的方式加载. 生成的boost库名称中没有"s"

该参数可选的取值为:  "shared" "static"

参数: threading=multi

生成的库是多线程. 现在的应用程序大部分是多线程的.

该参数的可选的取值为: "single" "multi"

参数: variant=debug

生成debug版本的库, 库的命名中有"gd";  例如: libboost_date_time-vc110-mt-sgd-1_60.lib
该参数取值范围: "debug" "release" "profile" "debug-python"

参数: address-model=64

生成64位的库. 不写该参数, 则默认为生成32位的链接库. 

该参数可选的参数取值为:  "16" "32" "64" "32_64"

--clean

Remove targets instead of building
-a

Rebuild everything

 boost 库的命名特点:

(1)以“lib”开头的是“link=static”版本(静态链接库版本,没有dll),而直接以“boost”开头的是“link=shared”版本(动态链接库版本,包含lib和dll)。
(2)所有的库都含有"boost"前缀。
(3)紧随其后的是boost库名称(比如date_time库)。
(4)然后是编译器的版本,与库名称之间以"-"而不是下划线"_"分隔(比如 -vc120)。
(5)有“mt”的为“threading=multi”版本,没有的则是“threading=single”版本。
(6)有“s”的为“runtime-link=static”版本,没有的则是“runtime-link=shared”版本。
(7)有“gd”的为debug版本,没有的则是release版本。
(8)所有的库都含有boost库的版本号结尾(比如1_56,其中的"."以下划线"_"代替)

在VS中使用:

1. 配置Include引用路径.

   项目->属性->配置属性->C/C++->常规->附加包含目录

   例如我的配置为: d:\Program\boost_Include_and_Lib\Include\

2. 配置Lib库的引用路径

   项目->属性->配置属性->连接器->常规->附加库目录

  例如我的配置为: d:\Program\boost_Include_and_Lib\Lib\VS2012\$(PlatformTarget)\lib\

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值