Boost库的编译

废话就不多说了,直接上boost编译的方法。

1、下载boost库源码

https://github.com/missionlove/boost

2、使用vs命令行工具,选择对应的Command工具

在这里插入图片描述

3、切换目录到Boost源码 bootstrap.bat 文件所在的目录下
4、运行bootstrap.bat 脚本
start bootstrap.bat

运行结果如下:
在这里插入图片描述

5、使用cl指令查看当前的vs版本信息

在这里插入图片描述

6、查看VS msvc对应版本信息

在这里插入图片描述
笔者当前编译器版本 _MSC_VER 为19.29.30133,我们看到1920对应14.2, 1921对应14.21,依次类推1929 对应14.29.

7、修改配置文件 project-config.jam

修改后内容如下:

# Boost.Build Configuration 
# Automatically generated by bootstrap.bat 
 
import option ; 
 
using msvc : 14.29 : "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Enterprise\\VC\\Tools\\MSVC\\14.29.30133\\bin\\Hostx64\\x64\\cl.exe"; 
 
option.set keep-going : false ; 
 

在这里插入图片描述

8、执行如下编译指令:(具体指令意思可以参考参数说明)
8.1 、编译静态库

/// 编译全部模块

b2 stage --toolset=msvc-14.2 --build-type=complete  --stagedir="stage/MTd/static" link=static runtime-link=static threading=multi address-model=64 debug release

/// 跳过指定模块

b2 stage --toolset=msvc-14.2 --without-graph --without-graph_parallel --without-python --stagedir="stage/MTd/static" link=static runtime-link=static threading=multi address-model=64 debug release
8.2 、编译动态库

/// 编译全部模块

b2 stage --toolset=msvc-14.2 --build-type=complete  --stagedir="stage/MTd/shared" link=shared runtime-link=shared threading=multi address-model=64 debug release

/// 跳过指定模块

b2 stage --toolset=msvc-14.2 --without-graph --without-graph_parallel --without-python --stagedir="stage/MTd/shared" link=shared runtime-link=static threading=multi address-model=64 debug release

在这里插入图片描述

参数说明
Visual studio 2019的版本号为:msvc-14.2
–toolset:指定编译工具
–without:不编译某项工具
–stagedir:指定编译后的库路径,不加这个描述默认在当前目录的stage\lib文件里面
补充:
1、静态库以 lib 开头,动态库开头没有 lib。
2、编译器名称及其版本,vc142 指的是 msvc-14.2,对应 Visual Studio 2019。
3、有 mt 代表 threading=multi,没有则代表 threading=single。
4、有 gd 代表 debug 版本,没有则代表 release 版本。
5、目标位数,x32 代表 32 位,x64 代表 64 位。
6、Boost 库的版本号,1_74 代表 Boost 1.74 版本

9、编译成功,得到指定的库

备注:有 gd 代表 debug 版本,没有则代表 release 版本
在这里插入图片描述
boost的编译篇到此结束~

### 解决Boost编译时遇到的问题 #### 1. 配置环境变量 确保已正确设置系统的环境变量,特别是 `PATH` 变量应包含 Visual Studio 的命令行工具路径以及 Boost 安装目录。这有助于避免因找不到必要的编译工具而导致的错误[^1]。 #### 2. 使用适当版本的Visual Studio 不同版本的 Boost 可能与特定版本的 Visual Studio 更兼容。例如,在 Windows 上使用较旧版本如 VS2015 来编译 Boost 1.63 或更高版本时,需确认所使用的 Visual Studio 版本能够支持目标 Boost 版本的要求[^3]。 #### 3. 自定义编译脚本调整 当通过批处理文件(`.bat` 文件)来启动编译过程时,务必检查这些脚本内的参数设定是否匹配当前开发环境的需求。对于某些特定平台或架构的选择(如 32 位 vs 64 位),应当仔细核对并作出相应修改以适应本地条件。 #### 4. 下载源码自行编译而非依赖预构建二进制包 尽管存在许多预先编译好的 Boost 可供下载,但由于不同的编译选项和配置可能导致不一致的行为,因此建议尽可能从官方渠道获取最新版源代码,并按照文档指导完成自定义化编译流程。这样做不仅可以获得更好的性能优化效果,还能有效规避由于第三方提供者采用的不同编译器或其他因素引起的潜在冲突问题[^4]。 #### 5. 查阅日志文件排查具体原因 如果仍然无法成功编译,则可以尝试阅读由 bjam 工具生成的日志文件 (`bootstrap.log`) 中的信息,从中寻找有关失败的具体线索。通常情况下,这类日志会记录下详细的执行步骤及其结果,从而帮助定位实际存在的技术难题所在之处。 ```bash # 进入到解压后的Boost根目录 cd path\to\boost_root_directory # 初始化bjam构建系统(适用于Windows) .\bootstrap.bat # 开始编译指定地址模型下的静态链接 b2 address-model=64 link=static threading=multi variant=release --build-type=complete stage ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

键盘会跳舞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值