mingw编译boost中bjam的toolset问题

本文介绍了解决Boost 1.49.0在没有安装VC的环境下编译的问题。通过修改build.bat文件中查找mingw的部分,使编译过程能够正确识别并使用mingw编译器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

boost版本1.49.0

编译boost的第一步是使用bootstrap.bat编译出bjam,但是在电脑没有装VC的情况下这一步就会卡死(bjam的编译是很快的,出现半天没反应的情况必定是出错了,不要浪费时间等了),关掉卡死的窗口,进入目录:boost_1_49_0\tools\build\v2\engine(也有可能在engine\src目录下),执行build.bat,会一直提示找不到toolset的错误(这就是卡死的原因了,还很占CPU)。

问题找到了,解决方法网上都只提到把mingw\bin目录加入path变量,然后使用bootstrap mingw,但我试了多次,包括使用--toolset-root指定mingw的目录、修改toolset为gcc、尝试加入环境变量MINGW和MINGW_HOME等等,全部都不行,实在没办法我就打开build.bat搜索mingw,然后找到如下一段内容:

if EXIST "C:\MinGW\bin\gcc.exe" (

    set "BOOST_JAM_TOOLSET=mingw"

    set "BOOST_JAM_TOOLSET_ROOT=C:\MinGW\"

    goto :eof)

原来build.bat会自动查找猜测toolset,使用第一个查找到的toolset,当全都未查到时自然就提示找不到了,把查找mingw的内容改成符合自己的mingw所在路径,我的修改如下粗体所示:

if EXIST "D:\tools\MinGW-4.6.1\bin\gcc.exe" (

    set "BOOST_JAM_TOOLSET=mingw"

    set "BOOST_JAM_TOOLSET_ROOT=D:\tools\MinGW-4.6.1\"

    goto :eof)

然后回到engine(或engine\src)目录,执行build.bat即可编译成功,把生成的engine\bin.x86\bjam.exe拷贝到boost的解压目录(如:boost_1_49_0)即可开始编译boost库了。

 

本文最早写在51cto上:http://mayacong.blog.51cto.com/blog/3724695/1103800

转载于:https://www.cnblogs.com/toSeek/archive/2013/04/09/3011471.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值