建筑物提升1.52,在Mingw的非标准位置

Building Boost 1.52 with non-standard location of MinGW

本文关键字:Mingw 非标准 位置 建筑物      更新时间:2023-10-16

我尝试使用mingw(x64)从源构建subost,但在创建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:MinGWrubenvb-4.7.2-64
SET PATH_BJAM=%~dp0%BOOST_VER%toolsbuildv2engine
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:error:createProcess:没有这样的文件或目录

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

这可能会解决您的问题,但是即使不是,无论如何都可以更改它。

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

挖掘build.bat。无法定义变量" 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内部的baT附加路径变量:

set "PATH=%BOOST_JAM_TOOLSET_ROOT%bin;%PATH%"

非常感谢您的任何评论和建议。