我試圖使用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