MSVC2010编译Boost 1.48 C++

Cool.Cat 2013-08-30 2321

1、http://www.boost.org/下载先Boost 1.48并解压 2、boost_1_48_0\tools\build\v2目录执行bootstrap.bat生成编译工具bjam 3、配置合适的BJAM参数编译:
启用多线程、正则式支持UNICODE和MPI,并丢弃PYTHON支持,进行完整(保护静态库和动态库)编译BOOST可以用下列参数(Boost默认支持多线程和MPI) :
bjam threading=multi -sHAVE_ICU=1 --without-python --toolset=msvc-10.0 --build-type=complete
同上,只需要动态库:
bjam threading=multi -sHAVE_ICU=1 --without-python --toolset=msvc-10.0 link=shared runtime-link=shared  debug release
同3-1,只需要发行版动态库:
bjam threading=multi -sHAVE_ICU=1 --without-python --toolset=msvc-10.0 link=shared runtime-link=shared release
4、安装BOOST
其实在BJAM参数最后加上 install 参数,Boost编译完成后就自动安装到C:\Boost目录下,形成头文件和库文件目录。
很多兄弟不喜欢使用install参数,那就可以考虑手工设定。Boost源代码根目录下的Boost子目录就是头文件,编译出来的库就在stage\lib子目录下。自行设定头目录及库目录即可。
BJAM参数说明:
stage/install:stage表示只生成库(dll和lib),install还会生成包含头文件的include目录。
toolset:指定编译器,可选的如borland、gcc、msvc(VC6)、msvc-10.0(VS20010) 等。
without/with:选择不编译/编译哪些库。
stagedir/prefix:stage 时使用stagedir,install时使用prefix,表示编译生成文件的路径。
build-dir:编译生成的中间文件的路径。
link:生成动态链接库/静态链接库。生成动态链接库需使用shared方式,生成静态链接库需使用static方式。
runtime- link:动态/静态链接C/C++运行时库。同样有shared和static两种方式,这样runtime-link和link一共可以产生4种组合 方式,各人可以根据自己的需要选择编译。一般link只选static的话,只需要编译2种组合即可,即link=static runtime-link=shared和link=static runtime-link=static。
threading:单/多线程编译。一般都写多线程程序,当然要指定multi方式了;如果需要编写单线程程序,那么还需要编译单线程库,可以使用single方式。
debug/release:编译debug/release版本。一般都是程序的debug版本对应库的debug版本,所以两个都编译。

最新回复 (0)
返回
发新帖
X