我尝试使用MinGW(x64)从64bit的源代码构建Boost,但在创建bjam.exe时失败了。任何指向帮助的指标都表示赞赏感谢。
我创建了以下批处理文件以确保可重复构建,但出了点问题。我无法使用提供的批处理文件构建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)时,它会顺利进行(我认为可以忽略警告)
答案 0 :(得分:3)
这可能会解决您的问题,但即使不是,也无论如何都要改变它。
使用除PATH
以外的其他变量名称,因为这是MINGW可能依赖的内置且重要的Windows环境变量。
答案 1 :(得分:0)
在深入到位于BOOST_ROOT \ tools \ build \ v2 \ engine的build.bat之后,当提供“mingw”作为工具集时,脚本绕过“猜测工具集”步骤并且无法定义变量“BOOST_JAM_TOOLSET_ROOT” ,留下与gcc相关的可执行文件的调用失败。
现在我按照以下方式更改了批次
PUSHD "%PATH_BJAM%"
SET "PATH=%PATH_MINGW%\bin"
REM add the line below
SET "BOOST_JAM_TOOLSET_ROOT=%PATH_MINGW%\"
build.bat mingw --show-locate-target
SET PATH=%OPATH%
我从外部批处理文件手动设置BOOST_JAM_TOOLSET_ROOT变量,这很好。请注意结尾的“\”字符,因为build.bat里面的路径变量是这样的:
set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"
非常感谢您的任何意见和建议。