1、下载boost(或bjam)的源码,在命令行下执行如下命令:
cd <BOOST_ROOT>\tools\jam\src
.\build.bat
其中<BOOST_ROOT>指的是boost源码的根目录。
这两条命令执行完毕,会产生一个bin.ntx86文件夹,里面含有一个编译生成的bjam.exe。
将bjam.exe复制到C:\WINDOWS目录(或者PATH环境变量的其它取值)下。
2、在C:\Documents and Settings\All Users目录(或其它任意目录亦可)新建一个名为boost 的目录(取bjam或其它名字亦可,后面环境变量的值与此一致即可),将
<BOOST_ROOT>\tools\build\v2目录及其前两级父目录复制到该boost目录里,则此时在C:\Documents and Settings\All Users\boost\tools\build\v2目录里可找到一个boost-build.jam文件,打开该文件并将boost-build的值改为:
boost-build “C:/Documents and Settings/All Users/boost/tools/build/v2” ;
要注意此处的路径要用斜杠来隔开,但前面执行的命令涉及到的路径则用反斜杠隔开。
另外,分号与前面的文字要有空格。
3、仍然在v2文件夹下,打开user-config.jam文件,找到以下一行:
# using msvc ;
将“#”去掉。
4、添加BOOST_ROOT环境变量。
具体操作为:右击“我的电脑”,选择“属性”->“高级”->“环境变量”,在“系统变量”方框下方点击“新建”,出现新建系统变量对话框。
变量名填上BOOST_ROOT,变量值填上“C:\Documents and Settings\All Users\boost\tools\build\v2”(此路径即boost-build.jam所在的目录,注意要用英文环境下的双引号括起来)。
至此,bjam 编译环境配置完成。
5、如果步骤4的环境变量不起作用,则用户的每个工程源码根目录必须存在一个步骤2修改好的boost-build.jam,bjam程序方可正常工作。
但由于bjam会从工程根目录逐级搜索至工程所在磁盘分区根目录,若在每个磁盘分区根目录都复制一份boost-build.jam,则不管用户将工程源码放在什么地方,bjam程序都能正常读取boost-build.jam,然后编译工程了。
注意:在装bjam之前,必须保证系统中已安装了Visual Studio,否则无法编译出bjam.exe。
如果想删除bjam,只需手动将C:\WINDOWS\bjam.exe、boost目录(用户创建的)和相关环境变量删除即可。
已发现及解决问题:
1、Visual Studio 2010的设置问题
如果系统安装的是Visual Studio 2010,则还需要向系统环境变量添加以下路径(假设VS安装在D盘):
D:\Program Files\Microsoft Visual Studio 10.0\VC\bin
否则在编译bjam或者利用bjam编译用户工程时会报错,前者会提示找不到cl等命令,后者则会提示多个jam文件运行出错。
2、修改jam文件使clean选项可清除pdb和rsp文件
修改%BOOST_ROOT%\tools\common.jam 文件的Clean动作,新增这两类文件后缀即可,如下:
附:
bjam的源码可以从boost源码(网上有下载)中抽取,也可以到以下地址下载:
/detail/udc577/5583523。