我试图使用MinGW64编译器为本机64位构建Boost库,但出现了一些故障。任何指针赞赏。谢谢。使用MinGW64构建Boost而不使用MASM
我得到了在64位编译的bjam.exe(b2.exe)(带有警告),我用它获得了Boost构建的。构建Boost.Context时出现以下错误。 (我批量编写了可重复建筑的命令)。我错过了什么?
- 命令:b2.exe安装前缀=%〜DP0 \ BLD \ Boost.Build
- 错误:ml64'不被识别为一个内部或外部的命令,可操作的程序或批处理文件。
我阅读文档,它说:
Boost.Context必须为特定的编译器(S)和CPU架构(S)内置S为目标。 Boost.Context包含汇编代码,因此需要支持POSIX系统的GNU AS和Windows系统的MASM。
那么,是否可以告诉bjam使用我的MinGW安装中包含的as.exe? (由于我有多个MinGW的,位置不是标准的C:\ MinGW的\ BIN)
项目config.jam中
import option ;
using gcc ;
option.set keep-going : false ;
平台
- 的Windows 7 x64
- Boost 1.52.0(source from sourceforge)
- MinGW 4.7.2(ruben VB 64)在我的机器
- 没有MSVC安装(无ml64.exe安装/找到)安装WDK 时发生
- 编辑问题
警告建设的bjam的时候,我认为它可以忽略
function.c: In function 'check_alignment':
function.c:222:5: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
全部批次
SET OPATH=%PATH%
SET BOOST_VER=boost_1_52_0
SET "PATH_ZIP=C:\Program Files\7-zip"
SET "PATH_MINGW=C:\MinGW\rubenvb-4.7.2-64"
SET "PATH_SRC=%~dp0\%BOOST_VER%"
SET "PATH_BJAM=%PATH_SRC%\tools\build\v2\engine"
TITLE Extracting Packages ...
IF NOT EXIST "%PATH_SRC%.7z" GOTO :err_nozip
RD /S /Q "%PATH_SRC%"
"%PATH_ZIP%"\7z x "%PATH_SRC%.7z"
TITLE Building BJam ...
PUSHD "%PATH_BJAM%"
SET "PATH=%PATH_MINGW%\bin"
SET "BOOST_JAM_TOOLSET_ROOT=%PATH_MINGW%\"
CALL build.bat mingw --show-locate-target
SET PATH=%OPATH%
COPY "bin.ntx86_64\b2.exe" "%PATH_SRC%\" > nul
COPY "bin.ntx86_64\bjam.exe" "%PATH_SRC%\" > nul
POPD
TITLE Installing Boost Build...
PUSHD "%PATH_SRC%"
ECHO import option ; > project-config.jam
ECHO. >> project-config.jam
ECHO using gcc ; >> project-config.jam
ECHO. >> project-config.jam
ECHO option.set keep-going : false ; >> project-config.jam
ECHO. >> project-config.jam
b2.exe install --prefix=%~dp0\bld\Boost.Build
POPD
SET PATH=%OPATH%
http://nuwen.net/mingw.html – TemplateRex