boost 1.52 编译自己整理,这个适合自己

时间:2022-09-09 00:16:17
第一步:
首先用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