废话就不多说了,直接上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的编译篇到此结束~