第一步:
首先用vs2008命令提示工具定位到boost1.5目录
bootstrap.bat
第二步:
bjam --toolset=msvc-9.0 --build-type=complete install --stagedir=stage (版本9.0 所有都编译, lib目标stage)
bjam --show-libraries (显示所有可以编译的库)
bjam --toolset=msvc-9.0 --with-math --stagedir=stage(单独编译math库)
命令参考:
--build-dir=<builddir>
编译的临时文件会放在builddir里(这样比较好管理,编译完就可以把它删除了)
--stagedir=<stagedir>
存放编译后库文件的路径,默认是stage
--build-type=complete
编译所有版本,不然只会编译一小部分版本(确切地说是相当于:variant=release, threading=multi;link=shared|static;runtime-link=shared)
variant=debug|release
决定编译什么版本(Debug or Release?)
link=static|shared
决定使用静态库还是动态库。
threading=single|multi
决定使用单线程还是多线程库。
runtime-link=static|shared
决定是静态还是动态链接C/C++标准库。
--with-<library>
只编译指定的库,如输入--with-regex就只编译regex库了。
--show-libraries
显示需要编译的库名称
生成的lib名称的含义:
libboost_regex-vc90-sgdp-1_46_1.lib。
前面是库名称,vc90表示编译器,最后面是版本号。下面来解释一下中间那些字符的含义:
版本号中标记的含义
表示的含义
s
静态库版本
gd
调试版本
p
取消方法是预定义这个宏:
BOOST_ALL_NO_LIB