2013-11-28 91 views
18

我已經下載了boost 1.55和MinGW。 控制檯回答我,我沒有任何命令。 我無法理解如何綁定2路徑並激活gcc編譯器。 P.S.如果我用微軟編譯器構建boost,那麼我將在錯誤3861中遇到大約8個錯誤!
我該如何構建它?如何使用MINGW來增強1.55?

+1

參見http://stackoverflow.com/q/13256788/1390430 – Ben

回答

31

首先確保您的mingw的bin目錄位於您的環境中PATH因此gccg++可從命令提示符處調用。之後進入你的提取文件的根目錄。

按照與引導+ b2.exe構建。例如,假設您只想編譯boost的正則表達式部分。後續的命令應該做的伎倆:

bootstrap mingw 
b2 toolset=gcc regex 

您可以使用:

b2 --show-libraries 

,讓你可以單獨構建模塊列表。當然,你可以只用建立所有的人:

b2 toolset=gcc 

退房Boost Invocation可用選項的詳細列表。

+6

我不得不使用'bootstrap gcc' –

+3

@ChrisChiasson同樣在這裏。 bootstrap mingw或bootstrap.bat mingw爲我提供了錯誤。只有引導gcc使它工作(有幾個警告)。之後,我做了b2 toolset = gcc讓它從源代碼構建二進制文件~15分鐘,我很好。你只需要這兩個命令作爲升壓版本1.62.0 –

+0

@ RestlessC0bra這對我的作品感謝。使用版本boost_1_63_0。我補充說我在我的project-config.jam文件中找到了這個「使用msvc;」我很困惑b2是否會使用msvc來編譯源代碼,但是通過定義toolset = gcc,所有工作都正常,並且使用mingw編譯gcc。 – stviper

19

Greatwolf的答案對我來說並不奏效,所以這裏是我設法讓它工作的方法。

首先,確保MinGW\bin是你的路徑

轉到tools\build\v2目錄中的文件夾提振上。例如,在我的情況下,它是C:\Boost\boost_1_55_0\tools\build\v2。然後運行

bootstrap mingw 

之後,切換到root升壓目錄(這部分是非常重要的,因爲B2檢測構建基於當前目錄是什麼)

現在,如果你想建立文件系統,做

tools\build\v2\b2 toolset=gcc --build-type=complete stage --with-filesystem 

這會把libboost_filesystem-mgw48-d-1_55.dll等放入stage\lib。如果你想建立一切,只要離開--with-filesystem部分。

+0

謝謝,你的評論真的幫了我很大的忙! – Salgat

4

我能夠按照Antimony的指示構建它。但是我最初得到這個錯誤:

Bootstrapping the build engine 
\Windows was unexpected at this time. 

錯誤是通過清除PATH變量,並把剛剛MinGW的文件夾中就解決了:

set PATH=C:\MinGW\bin 

然後銻的指示做的工作對我來說。謝謝!!

只是另外兩件可能有用的小東西。 MinGW的BOOST應該從Windows shell而不是從MSYShell構建。在版本1.57中,bootstrap.bat腳本不再位於tools \ build \ v2中,而是直接位於tools \ build中。

4

如果你已經安裝了MinGW/GCC作爲TDM-GCC的一部分,你將會有一個你可以啓動的「MinGW命令提示符」。這會加載一個命令提示符窗口,並將GCC編譯器放在該窗口的PATH上。 (類似於隨Visual Studio一起安裝的「開發人員命令提示符」。)

我認爲the "MinGW distro"也有一個。

如果你有一個集成的命令提示符下,你可以簡單地說:

  • 啓動 「MinGW的命令提示符」
  • 轉到您的加速文件夾(如C:/升壓)
  • 運行bootstrap gcc
  • 運行b2 toolset=gcc(或任何你需要的b2命令)

如果您正在從某些人未明確設置工具集的示例開始工作,則必須自行添加toolset=gcc。請注意0​​必須放置在屬性位置不是選項命令的位置。從b2 --help

b2 [options] [properties] [install|stage] 

因此,如果有人在寫命令來調用與--prefix選項install命令,他們會寫爲:

b2 --prefix=C:\boost-build install 

你想它重新寫爲:

b2 --prefix=C:\boost-build toolset=gcc install 

有關更多詳細信息,請參見b2 --help