Windows下用MinGW 4.9.2编译Boost 1.58.0失败求助
解决MinGW 4.9.2编译Boost 1.58.0的Bootstrap失败问题
我之前踩过MinGW 4.9.2编译Boost 1.58.0的坑,结合你给出的bootstrap输出片段,给你几个实用的排查和解决步骤:
先确认MinGW环境配置是否到位
确保MinGW的bin目录(比如C:\MinGW\bin)已经排在系统PATH环境变量的最前面,防止和其他编译器(比如MSVC的cl.exe)冲突。打开新的命令提示符,输入gcc --version,如果能正常输出4.9.2的版本信息,说明环境没问题;如果报错,先把PATH配置好再继续。手动指定工具集执行bootstrap
自动检测的工具集有时候会出问题,直接手动指定mingw工具集试试:bootstrap.bat mingw执行这个命令时,确保在Boost的根目录(也就是
C:\boost_1_58_0)下操作。检查路径和权限
- 千万不要把Boost放在带空格或中文的目录里,比如
C:\Program Files\boost这种路径很容易出问题,最好用短路径比如C:\boost_1_58_0。 - 用管理员权限打开命令提示符再运行bootstrap,避免因为权限不够无法创建
bootstrap目录或者生成jam0.exe。
- 千万不要把Boost放在带空格或中文的目录里,比如
排查编译报错细节
你给出的输出只到gcc编译源文件的列表,有没有后续的具体报错?比如头文件找不到、链接错误之类的?如果是缺失依赖,检查MinGW是否安装完整——确保mingw32-base和mingw32-gcc-g++这两个核心组件都装了,别漏选。备选:直接用预编译的Jam工具
如果bootstrap死活生成不了jam0.exe,可以找一个MinGW版本的预编译Jam工具,放到C:\boost_1_58_0\tools\build\src\engine\bootstrap目录下,重命名为jam0.exe,然后继续执行后续的b2编译命令就行。
内容的提问来源于stack exchange,提问作者autonicknan
相关产品推荐
相关产品推荐

