编译的临时文件存放位置
--build-dir=<builddir>
存放编译后库文件的路径,默认stage
--stagedir=<stagedir>
编译所有版本
--build-type=complete
不然只会编译一小部分(相当于:variant=release,threading=multi;link=shared|static;runtime-link=shared)
编译版本
variant=debug|release
静态库|动态库
link=static|shared
多线程|单线程
threading=single|multi
静态|动态连接C/C++标准
runtime-link=static|shared
指定编译库
--with-<library>
指定不编译的库
--without-<library>
显示需要编译的库名称
--show-libraries
编译不通系统位
32:architecture=x86 address-model=32
64: architecture=x86 address-model=64
其中architecture=x86指定cpu为x86系列,address-model指定使用32位地址还是64位地址
编译工具
toolset=msvc-9.0
msvc-6.0 : VC6.0
msvc-7.0: VS2003
msvc-8.0: VS2005
msvc-9.0: VS2008
msvc-10.0: VS2010
b2 toolset=msvc-9.0
architecture=x86
address-model=64
link=static
variant=debug,release
threading=multi
runtime-link=static
--with-coroutine
--with-context
--with-container
--with-graph
--with-signals
--with-signals
--with-iostreams
--with-filesystem
--with-date_time
--with-thread
--with-serialization
--with-regex
--with-system
--with-program_options
--with-math
--with-mpi
--with-python
--with-wave
--with-test
--with-atomic
--with-chrono
--with-exception
--with-locale
--with-log
--with-random
--with-timer
--stagedir="E:\boost_1_69_0\64"
--build-dir="E:\boost_1_69_0\64\build"
1:生成 Release 版本,多线程,动态链接C++标准库的regex 动态库
b2 --toolset=msvc-9.0
--stagedir=E:\boost_1_69_0\mylib
--with-regex link=shared threading=multi variant=release runtime-link=shared stage address-model=64
输出:boost_regex-vc90-mt-x64-1_69.lib boost_regex-vc90-mt-x64-1_69.dll
2: 生成 Release 版本,多线程,静态链接C++标准库的regex 动态库
b2 --toolset=msvc-9.0
--stagedir=E:\boost_1_69_0\mylib
--with-regex link=shared threading=multi variant=release runtime-link=static stage address-model=64
输出:没有这种配置
3: 生成 Release 版本,多线程,动态链接C++标准库的regex 静态库
b2 --toolset=msvc-9.0
--stagedir=E:\boost_1_69_0\mylib
--with-regex link=static threading=multi variant=release runtime-link=shared stage address-model=64
输出:boost_regex-vc90-mt-x64-1_69.lib
4: 生成 Release 版本,多线程,静态链接C++标准库的regex 静态库
b2 --toolset=msvc-9.0
--stagedir=E:\boost_1_69_0\mylib
--with-regex link=static threading=multi variant=release runtime-link=static stage address-model=64
输出:libboost_regex-vc90-mt-s-x64-1_69.lib
5:生成 Debug 版本,多线程,动态链接C++标准库的regex 静态库
b2 --toolset=msvc-9.0
--stagedir=E:\boost_1_69_0\mylib
--with-regex link=static threading=multi variant=debug runtime-link=shared stage address-model=64
输出:libboost_regex-vc90-mt-gd-x64-1_69.lib
6: 生成 Debug 版本,多线程,静态链接C++标准库的regex 静态库
b2 --toolset=msvc-9.0
--stagedir=E:\boost_1_69_0\mylib
--with-regex link=static threading=multi variant=debug runtime-link=static stage address-model=64
输出:libboost_regex-vc90-mt-sgd-x64-1_69.lib
7: 生成 Debug 版本,多线程,动态链接C++标准库的regex 动态库
b2 --toolset=msvc-9.0
--stagedir=E:\boost_1_69_0\mylib
--with-regex link=shared threading=multi variant=debug runtime-link=shared stage address-model=64
输出:boost_regex-vc90-mt-gd-x64-1_69.lib boost_regex-vc90-mt-gd-x64-1_69.dll
4: 生成 Debug 版本,多线程,静态链接C++标准库的regex 动态库
b2 --toolset=msvc-9.0
--stagedir=E:\boost_1_69_0\mylib
--with-regex link=shared threading=multi variant=debug runtime-link=static stage address-model=64
输出:没有这种配置
link=static: 静态库。 生成的库文件名称以 “lib”开头
link=shared: 动态库。生成的库文件名称无“lib”开头
threading=multi: 支持多线程。 生成的库文件名称中包含 “-mt”
variant=release: 生成的库文件名称不包含 “-gd”
variant=debug: 生成的库文件名称包含 “-gd”
runtime-link=static: 生成的库文件名称包含 “-s”
runtime-link=shared: 生成的库文件名称不包含 “-s”