您的位置:首页 > 其它

VC2005环境下boost_1_34_0编译手记

2007-10-21 16:57 363 查看
先介绍个STL中文站给所有喜欢和学习STL、Boost的朋友。


boost自从2005-12-05发布boost_1.33_1后,直到2007-05-11才正式发布boost_1_34_0,从33到34真是让所有的boost勇等等足时间,具体有哪些新特性未细看,到手后,编译了再说;

以前在公司编译过boost 1.33.1,今天在家里又编译了一次最新的boost 1.34.0,虽说编译过程比1.33.1简单多了,但还是感觉有一点点复杂;为免以后重新编译时忘记,写下这篇手记,方便日后查询用;

编译环境:VC2005

1、下载包:
先到http://sourceforge.net/project/showfiles.php?group_id=7586Boost主页下载最新的安装包boost_1_34_0.zip,解压到本机硬件上[BOOST_1_34_0_PATH]

2、编译jam:
编译boost必须先编译jam。
进入VC命令行(用于设置VC的编译环境):
执行“开始/程序/Microsoft Visual Studio 2005/Visual Studio Tools/Visual Studio 2005 Command Prompt”
(或者运行"cmd"进入命令行方式,直接执行“C:/Program Files/Microsoft Visual Studio 8/VC/bin/vcvars32.bat”也可)
打开VC命令行后:
重新进入"[BOOST_1_34_0_PATH]/tools/jam/src"目录:执行
build.bat
编译成功后,在“[BOOST_1_34_0_PATH]/tools/jam/src/bin.ntx86”目录下会生成bjam.exe文件;
(请别急于退出VC命令行,下面还有用。)

3、编译boost_1_34_0:
(在编译前建议看看下面的提示...)
复制bjam.exe文件到“[BOOST_1_34_0_PATH]”目录下;
缕缕在VC命令行下,执行
bjam -sBOOST_ROOT=. -sTOOLS=msvc "-sBUILD=debug release <runtime-link>static/dynamic"

编译debug、release、static和dynamic四个版本的DLL和LIB文件;
编译成功,在“[BOOST_1_34_0_PATH]”目录下会新建一个“bin.v2”目录,里面会包含所有编译的DLL、LIB和中间文件;

提示:
A、编译Boost需要时间较长,超过一个到二个小时,请耐心等待;
B、Boost编译过程中需要超过1G的硬盘空间,请确保有足够空间保存,
C、编译后的LIB和DLL文件分布在不同的目录下,为便于开发的链接,可以查找并复制到同一个目录下使用;同时建议删除掉其他无用编译临时文件;
D、可以单独编译某个库,例如要单独编译thread线程库,使用下面命令:
bjam -sBOOST_ROOT=. -sTOOLS=msvc --with-thread "-sBUILD=debug release <runtime-link>static/dynamic"

另外,可以使用--without-<library_name>选项进行:如:
bjam -sBOOST_ROOT=. -sTOOLS=msvc --without-thread "-sBUILD=debug release <runtime-link>static/dynamic"
编译除thread外所有库。(该选项我没有试过,请自行测试)
D、其他C++环境安装估计类同,请尝试编译,编译成功,请告诉我一声,多谢了!

good luck
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: