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