簡體   English   中英

如何使用MinGW構建Boost 1.55?

[英]How do I build Boost 1.55 with MinGW?

我已經下載了Boost 1.55和MinGW。

控制台回答我說我沒有任何命令。 我無法理解如何綁定兩個路徑並激活GCC編譯器。

PS:如果我使用微軟的編譯器構建增強功能,我將有大約8個錯誤,錯誤3861!

我怎樣才能建造它?

首先確保你的mingw的bin目錄在你的環境PATH所以gccg++可以從命令提示符調用。 然后進入您提取文件的位置的根目錄。

然后使用bootstrap + b2.exe進行構建。 例如,假設您只想編譯boost的正則表達式部分。 以下命令應該可以解決問題:

bootstrap gcc
b2 toolset=gcc regex

您可以使用:

b2 --show-libraries

獲取可以單獨構建的模塊列表。 當然,您可以使用以下方式構建所有這些:

b2 toolset=gcc

查看Boost Invocation以獲取可用選項的詳細列表。

Greatwolf的回答對我不起作用,所以這就是我如何設法讓它運作起來的。

首先,確保MinGW\\bin在您的路徑上

轉到boost文件夾的tools\\build\\v2目錄。 例如,在我的情況下,它是C:\\Boost\\boost_1_55_0\\tools\\build\\v2 然后跑

bootstrap mingw

之后,切換到根Boost目錄(這部分很重要,因為b2根據當前目錄檢測到要構建的內容)

現在,如果你想構建Filesystem,那就做吧

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

這將把libboost_filesystem-mgw48-d-1_55.dll等放在stage\\lib 如果你想構建所有東西,只需--with-filesystem部分。

我能按照銻的指示建造它。 但是我最初得到了這個錯誤:

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

通過清除PATH變量並僅將MinGW文件夾放入其中來解決錯誤:

set PATH=C:\MinGW\bin

然后銻的指示為我完成了這項工作。 謝謝!!

還有其他兩件可能有用的小事。 應該從Windows shell構建Boost for MinGW,而不是從MSYS shell構建。 在版本1.57中,bootstrap.bat腳本不再位於tools \\ build \\ v2中,而是直接位於tools \\ build中。

如果您已將MinGW / GCC安裝為TDM-GCC的一部分,則可以啟動“MinGW命令提示符”。 這將加載命令提示符窗口並將GCC編譯器放在該窗口的PATH上。 (類似於隨Visual Studio一起安裝的“Developer Command Prompt”。)

我認為“MinGW發行版”也附帶一個。

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

  • 啟動“MinGW Command Prompt”
  • 轉到Boost文件夾(例如C:/ Boost)
  • 運行bootstrap gcc
  • 運行b2 toolset=gcc (或者你需要的任何b2命令)

如果您正在使用某些人沒有明確設置工具集的示例,則必須自己添加toolset=gcc 請注意, toolset必須放在屬性位置而不是選項命令位置。 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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM