2011-11-30 86 views
10

我想建立使用兩種不同的編譯器MinGW的升壓和Visual C++ 2010 Express中,使用的bjam:極力打造提升:我不能得到的bjam

的問題是,我沒有的bjam。我無法在Boost目錄中找到它,而我從其他地方下載的版本是錯誤的版本。

我應該可以從Boost中的代碼構建它,但是怎麼做?我讀到我必須從BOOST_ROOT/tools/jam/src目錄啓動build.bat,但該目錄不存在

謝謝!


  • 平臺:Windows7的
  • 編譯器:MinGW的和Visual C++ 2010速成

更新:

我已經能夠得到的bjam有:bootstrap.bat gcc
然後,啓動bjam與之前的參數一樣,我只能使用MinGW(.dll和.a)的庫。
這是錯誤消息我就到Visual C++ 10獲得的提取物:

... 
    call "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 >nul 
cl /Zm800 -nologo @"bin.v2\libs\test\build\msvc-10.0\release\asynch-exceptions-on\threading-multi\plain_report_formatter.obj.rsp" 
...failed compile-c-c++ bin.v2\libs\test\build\msvc-10.0\release\asynch-exceptions-on\threading-multi\plain_report_formatter.obj... 
... 
...skipped <pbin.v2\libs\test\build\msvc-10.0\release\asynch-exceptions-on\threading-multi>boost_unit_test_framework-vc100-mt-1_48.dll for lack of <pbin.v2\libs\test\build\msvc-10.0\release\asynch-exceptions-on\threading-multi>compiler_log_formatter.obj... 
... 
common.mkdir bin.v2\libs\thread\build\msvc-10.0\release\threading-multi 
common.mkdir bin.v2\libs\thread\build\msvc-10.0\release\threading-multi\win32 
compile-c-c++ bin.v2\libs\thread\build\msvc-10.0\release\threading-multi\win32\thread.obj 
\Microsoft was unexpected at this time. 
... 
    call "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 >nul 
cl /Zm800 -nologo @"bin.v2\libs\thread\build\msvc-10.0\release\threading-multi\win32\thread.obj.rsp" 

...failed compile-c-c++ bin.v2\libs\thread\build\msvc-10.0\release\threading-multi\win32\thread.obj... 
compile-c-c++ bin.v2\libs\thread\build\msvc-10.0\release\threading-multi\win32\tss_dll.obj 
\Microsoft was unexpected at this time. 
... 
...skipped <pC:\Boost\lib>boost_thread-vc100-mt-1_48.lib for lack of <pbin.v2\libs\thread\build\msvc-10.0\release\threading-multi>boost_thread-vc100-mt-1_48.lib 
... 

嘗試使用:
bootstrap.bat vc100
我得到的錯誤: 「未知工具集:VC100」

無論使用哪種:
bootstrap.bat vc10
或:
bootstrap.bat mingw
我得到:「\微軟此時意外。」

更改project-config.jam沒有幫助。

所以,我做了一個很大的進步,但VC10是不工作的,但...

回答

5

有一個bootstrap.bat在升壓目錄。運行。

它會自動生成bjam(可能使用visual C++)。

+1

這就是我得到的結果(從Visual C++提示符運行):構建Boost.Build引擎\此時微軟意外。 –

+0

我希望能夠提供MinGW和Visual C++ 2010 Express,但我不在乎我用什麼來實際構建Boost。 –

+0

3解決方案: 1°嘗試從visual IDE運行「tools-> visual studio命令提示符」,然後再次從控制檯 2°類型boostrap.bat gcc嘗試bootstrap.bat。如果mingw在c:\ mingw中,它應該可以工作 3°從cygwin運行bootstrap.sh(它不能從mingw-msys運行) – reder

5

我認爲boost中的目錄結構在最近的版本中已經改變。

bjam的來源位於tools/build/v2/engine。使用MinGW shell從該目錄運行build.sh mingw,它應該生成bjam.exe和b2.exe,並將它們放在tools/build/v2/engine/ntx86中。將b2.exe複製到boost根目錄。然後,您應該能夠使用b2 toolset=msvc構建Visual C++庫。

希望有所幫助。

相關問題