Boost库的使用和编译


1.boost库有些需要编译,绝大部分不需编译,直接包含源文件即可使用,需要编译的库包括:data_time,regex,program_options,test,thread,system,python等十五个

2.编译bjam:

(1)进入boost目录(以boost_1_50_0为例),进入tools\jam\src

(2)运行build.bat,编译bjam

(3)编译完成后把bjam.exe拷贝到boost根目录下

3.修改boost配置

进入tools\build\v2下的user-config.jam,去掉msvc前的#注释,启动msvc8.0 / msvc9.0 / msvc10.0

4.编译boost

(1)编译的一些选项

--toolset=msvc 指定编译器

--build-dir=<builddir>  编译的临时文件会放在builddir里(编译完就可以把它删除了)

--stagedir=<stagedir> 存放编译后库文件的路径,默认是stage

--build-type=complete 编译所有版本,不然只会编译一小部分版本

--variant=debug|release决定是Dbug还是Release

--link=static|shared 决定是静态库还是动态库

--threading=single|multi 决定使用单线程还是多线程库

--runtime-link=static|shared决定是静态链接还是动态链接C/C++标准库

--with-<library>指定编译的库,如输入--with-date-time就只编译date-time库

(2)命名规则

link= static : 静态库。 生成的库文件名称以 “lib”开头

link= shared : 动态库。

threading= mult : 支持多线程。 生成的库文件名称中包含 “-mt”

variant=release

variant= debug  生成的库文件名称包含 “-gd”

runtime-link= static  生成的库文件名称包含 “-s”

runtime-link= shared  生成的库文件名称不包含 “-s”

(3)例如:bjam --toolset=msvc --build-type=complete  --variant=debug  --with-system

链接:http://www.boost.org

相关内容