[英]Installing Boost libraries with MinGW and CodeBlocks
我正在第一時間使用Boost庫,我選擇了一個名叫Regex的漂亮女孩。
我已經在我的機器上安裝了庫(自動構建?),但是我收到了上述錯誤(找不到-lboost_regex
)。 我正在使用Code :: Blocks with MinGW和C ++ 0X編譯器標志。
我有
-lboost_regex
標志 但沒有運氣。 有人可以幫我搞定嗎?
更新
現在好起來了。 對於這個問題的新手,我在下面的答案中添加了一些進一步的注釋。
(另外,改變了問題的標題,因為它比我剛開始時更廣泛。)
從我的第一次構建體驗開始,這里有一些可以幫助新手的鏈接和提示。 我直接從zip文件構建了庫。 我在MinGW上構建,我使用CodeBlocks作為IDE。
$boostdir
)
b2.exe
和bjam.exe
$boostdir/tools/build/v2/engine
build.bat mingw
(將構建b2.exe
和bjam.exe
)
b2
和bjam
。 導航回$boostdir
並准備開始構建庫。
bin.v2
目錄。 bin.v2
。 b2 toolset=gcc --build-type=complete
現在你們都建成了。 是時候設置CodeBlock了。
$boostdir
地址 $boostdir
的stage\\lib\\
目錄
C:\\Program Files\\Boost_1_52\\stage\\lib\\libboost_regex-mgw44-1_52.dll
blah\\blah\\blah\\stage\\lib\\
) -lboost_regex-mgw44-1_52
進一步的文檔可能會有所幫助或混淆:
Code :: Blocks網站有一個版本,直到我的搜索結束時才找到。 這很有幫助,但有一些奇怪的事情。 這篇文章也很有幫助。
祝好運!
我不確定你自動構建的是什么意思。 大多數Boost庫只是頭文件,但需要將一些文件(如正則表達式)編譯為共享/靜態庫。 編譯步驟不是自動的,您需要調用Boost構建系統( bjam
)來執行此操作。 當然,有源(例如BoostPro)為各種平台分發預構建的Boost二進制文件。
完成后,您需要將庫所在的路徑添加到鏈接器的搜索路徑中。 對於MinGW,此選項為-L"path/to/library"
。 Boost確實有指令允許自動鏈接所需的庫,這似乎與MSVC很好地工作,但我從來沒有讓它與MinGW一起工作。 因此,您還必須列出要明確鏈接的庫。 Boost庫默認包含文件名中的目標和版本信息,因此對於MinGW gcc 4.7和Boost 1.51,典型的鏈接器命令行選項看起來像-lboost_regex-mgw47-mt-1_51
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.