编译BOOST 1.32

本文提供在Windows(VC6)和Solaris 9(GCC 3.4.2)环境下编译Boost 1.32的详细步骤,包括编译jam、设置环境变量和编译Boost库本身。在Windows中,需要执行批处理文件build.bat,并调整环境变量。在Solaris 9中,使用bash脚本build.sh进行编译,同时建议在编译时选择动态链接以减小目标程序的大小。

转载自http://dozb.blogchina.com/2054610.html,有珊改。


1、开始前请确认你的OS中已经安装了适当的编译器,以下Windows环境中以Windows 2000 + VC6为例,Unix环境中以Solaris 9 + GCC 3.4.2为例;
2、以下以$BOOSTDIR表示boost的存放目录,请自行根据实际情况进行修改。

一、编译jam
1.Windows
到$BOOSTDIR/tools/build/jam_src下执行build.bat对jam进行编译,编译结果将存放在$BOOSTDIR/tools/build/jam_src/bin.ntx86下。如果你在执行该批处理程序过程中遇到问题,如报告无法找到编译器相关程序,请执行
X:/Program Files/Microsoft Visual Studio/VC98/Bin/VCVARS32.bat
以建立VC的基本环境变量。
2.Solaris 9
到$BOOSTDIR/tools/build/jam_src下执行./build.sh对jam进行编译,编译结果将存放在$BOOSTDIR/tools/build/jam_src/bin.solarisx86下。

二、设置环境变量

1.Windows
我的电脑点右键->属性->高级->环境变量->user variable或system variable中:
PATH最后添加bjam存放目录,如:
$BOOSTDIR/tools/build/jam_src/bin.ntx86
新建环境变量MSVCDIR,并在变量值一栏中填入VC安装目录,如:
X:/Program Files/Microsoft Visual Studio/VC98


2.Solaris 9
在.profile中PATH后添加编译后的jam的存放目录。
并增加

PYTHON_VERSION=2.3
export PYTHON_VERSION

注意,无需设置PYTHON_ROOT,Solaris下jam会自动处理。

三、编译
1.Windows
到$BOOSTDIR下执行以下命令:
jam -sBOOST_ROOT=. -sTOOLS=msvc "-sBUILD=debug release <runtime-link>static/dynamic"

或者
bjam "-sTOOLS=msvc" install


以上命令解释如下:
-s 即set,设置环境变量;

BOOST_ROOT boost的存放目录

TOOLS 你选择的toolset,如gcc、msvc(即vc6)、vc7.1,此外还有gcc-stlport、msvc-stlport、vc7.1-stlport,表示同时使用stlport。具体支持何种toolset,大家可以自行到$BOOSTDIR/tools/build/v1看个究竟。
BUILD 编译类型,上述选项表示编译出支持static和dynamic链接的debug和release版本(4个版本)。


编译后的lib、dll将被copy到$BOOSTDIR/bin/boost/libs目录下,但是这些lib、dll分散在不同的目录下,为了便于使用,可以在上述目录下分别查找*.lib和*.dll找出这些文件,然后将他们分别全部copy到VC的lib目录和Windows的System32目录,也可以自己建立一个专门用于存放boost的lib文件的目录,然后
依次选择Tools->Options->Directories->Library files,将上述目录路径添加到VC的环境设置中。

2.Solaris 9
到$BOOSTDIR下执行以下命令:
jam -sBOOST_ROOT=. -sTOOLS=gcc "-sBUILD=debug release <runtime-link>static/dynamic"
但建议用如下命令:
jam -sBOOST_ROOT=. -sTOOLS=gcc "-sBUILD=release <runtime-link>dynamic <optimization>speed"
这样可以极大加快编译的速度,同时,个人认为像boost这样大的库,最好还是采用动态链接以减小目标程序的size,就像libstdc++,还没有见过有人去静态链接libstdc++.a,虽然系统中提供了这个静态库。


评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值