c++ - 使用 MinGW 的非标准位置构建 Boost 1.52

标签 c++ boost batch-file mingw bjam

我尝试使用 MinGW (x64) 从源代码为 64 位构建 Boost,但在创建 bjam.exe 时失败了。任何帮助的指针表示赞赏。谢谢。

  • 安装包:Boost 1.52.0(从sourceforge下载,C:\BoostSrc)
  • 软件包:MinGW-w64 (4.7.2-x64 rubenvb, C:\MinGW\rubenvb-4.7.2-64)

我创建了以下批处理文件以确保可重复构建,但出现了问题。我无法使用提供的批处理文件构建 bjam.exe。我没有使用提供的“bootstrap.bat”作为 MinGW 的非标准安装路径(我有多个 mingw 集),而且我的机器上没有安装 MSVC

SET BOOST_VER=boost_1_52_0
SET PATH_MINGW=C:\MinGW\rubenvb-4.7.2-64
SET PATH_BJAM=%~dp0\%BOOST_VER%\tools\build\v2\engine
SET PATH="%PATH_MINGW%\bin"
PUSHD "%PATH_BJAM%"

REM check path
mingw32-make -version

REM error below
build.bat mingw --toolset-root=%PATH_MINGW% --show-locate-target

SET PATH=%OPATH%
POPD
REM ... some more ...

错误信息

gcc: 错误: CreateProcess: 没有那个文件或目录

当我直接从命令提示符键入命令(设置路径、转到位置并调用 build.bat)时,它进行得很顺利(带有我认为可以忽略的警告)

最佳答案

这可能会解决您的问题,但即使不能,也最好还是进行更改。

使用 PATH 以外的其他变量名称,因为这是一个内置的重要 Windows 环境变量,MINGW 可能依赖它。

关于c++ - 使用 MinGW 的非标准位置构建 Boost 1.52,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13956727/

相关文章:

c++ - 如果以前的输入与当前输入相同,为什么 cin 的行为不同?

c++ - 使用 boost::archive::binary_iarchive 的内存泄漏

c++ - boost asio async_read header 连接过早关闭

java - 从java代码运行bat文件并等待它执行TestComplete脚本 - 无法执行:(

windows - 如何正确转义Windows批处理文件中的括号?

windows - 路径前缀\??\和\\?\

c++ - C++中的PLC功能 block 库

c++ - 当我可以从终端编译时在 Linux 和 Eclipse 中编译

c++ - 用于插入数据的最快数据结构,而不是用于搜索

C++ Mongodb 驱动程序 v2.2 scons 在 Linux 上安装失败