在vs 2008下编译boost1.36

来源:互联网 发布:商城数据库怎么做 编辑:程序博客网 时间:2024/05/05 04:48

          在vc 6.0下编译boost1.32是好多年前的事情了,记得当初看了半天英文,可惜当时没有把自己做的事情写下来的习惯,引以为戒。在vc 7.1下编译boost1.36竟然总是有buffer overrun detected 错误,导致有个别类库编译不完善。遂下决心在vs 2008下来编译boost1.36.0。计划使用boost下的regex,asio,ipc。

       

编译环境:
windows 2003 server+vs 2008(vc9.0)+boost 1.36.0

在准备编译boost1.36.0的盘应该有至少10G的可用空间才可以进行完全编译,默认估计5G就可以了。

 

 

1、到boost_1_36_0/tools/jam/src,编辑“build.bat”文件。
     把if "_%ProgramFiles%_" == "__" set ProgramFiles=c:/Program Files改成自己vc9.0的安装路径。

2、修改build.bat之后保存,双击运行build.bat。这时会在boost_1_36_0/tools/jam/src/bin.ntx86下生成一个bjam.exe文件。
3、把bjam.exe拷贝到boost_1_36_0/目录下(与boost在同一个目录中)。

4、用vs2008的那个命令行DOS环境启动(菜单里有"命令提示符") 开始->程序->Microsoft Visual Studio .NET 2008 ->Visual Studio .tools"->"Visual Studio .NET 2008 command prompt" 然后在此环境下切换到boost_1_36_0下。

5、bjam -sTOOLS=msvc-9.0 --build-type=complete stage命令执行后所有的类库都应该在boost_1_36_0/stage下,大概4G.boost_1_36_0/bin.v2下为临时文件可以删除。

 

单独编译一个库,前面4步骤相同,第5步骤改为bjam "-sTOOLS=%编译器%" --with-<库名> install

或者采取如下步骤:(好像没有vc9.0的mak文件,那就用vs 2005编译吧)

使用“Visual Studio 2005 Command Prompt”,进入到boost_1_36_0/libs/regex/build:
nmake vc8.mak
OK,生成的文件在vc80下

原创粉丝点击