我試圖建立Boost C++ Libraries過去兩個小時,並沒有任何結果停下來。由於我是C++的新手,我無法獲得正確的構建。我如何使用Visual Studio 2008正確構建它?樓宇升壓BCP
我需要使用BCP工具來提取庫的一個子集。所以我需要先建立BCP,對吧?這個怎麼做?當我試圖建立它,我得到了以下錯誤
致命錯誤LNK1104:無法打開文件 'libboost_filesystem-VC90-MT-GD-1_37.lib'。
哪裏可以得到上面給出的庫文件?
我試圖建立Boost C++ Libraries過去兩個小時,並沒有任何結果停下來。由於我是C++的新手,我無法獲得正確的構建。我如何使用Visual Studio 2008正確構建它?樓宇升壓BCP
我需要使用BCP工具來提取庫的一個子集。所以我需要先建立BCP,對吧?這個怎麼做?當我試圖建立它,我得到了以下錯誤
致命錯誤LNK1104:無法打開文件 'libboost_filesystem-VC90-MT-GD-1_37.lib'。
哪裏可以得到上面給出的庫文件?
首先,您需要在命令shell中具有正確的PATH,INCLUDE和LIB環境變量。爲此,調用與參數文件「vcvarsall.bat
」(或類似):你必須建立的bjam
vcvarsall.bat x86
下一頁(您也可以從加速網頁下載,但它幾乎一樣快)。轉至tools\jam\src
文件夾中的升壓和類型:
build.bat
應該產生一個包含bjam.exe的子文件夾bin.ntx86
。爲了方便,請將其複製到Boost主文件夾。接下來,你可以建立bcp。進入tools\bcp
文件夾,然後鍵入:早在加速主文件夾
..\..\bjam.exe --toolset=msvc
然後你可以建立任何你希望的庫:
bjam toolset=msvc –-with-{library}
其中{library}
是建立圖書館之一。所有可構建的庫可以顯示:
bjam –-show-libraries
還有很多bjam構建參數。與關鍵字的一些參數,你可以指定有:
variant=debug|release
link=shared|static
threading=multi|single
一個例子是:
bjam toolset=msvc –-with-filesystem threading=multi variant=debug stage
欲瞭解更多相關信息,請訪問Boost documentation pages。
編輯:更新鏈接指向最近Boost文檔
編輯:更正選項--with- {}庫和--show-庫
注意,你不需要建立自己的來自源代碼的Windows版本 - 您也可以從http://www.boostpro.com/download下載二進制版本,並跳過所有這些步驟。
(或者,至少,這是理論上的情況下 - 我還沒有嘗試過,我只是發現頁面,這一次,同時尋找預建的Linux版本)。
當前版本Boost(1.50.0)使用Boost.Build。建立BCP新的工作流程如下:
從根目錄升壓,類型:
bootstrap.bat
然後,一旦Boost.Build已經建成,類型:
b2 tools/bcp
我提取源:https://github.com/district10/cmake-bcp(您不需要配置BOOST,因爲所有源代碼都已包含在內)。
在Linux上,cmake
+ make
建:
# cd source_dir
mkdir build && cd build
cmake ..
make
在Windows上:CMake的圖形用戶界面+ Visual Studio來構建。需要幫忙?見HOWTO: Win + CMake + Visual Studio 2010。
我的可執行文件:
提示:如果您在使用Boost時遇到了Windows上的鏈接問題,請檢查boost/config/auto_link.hpp
,你就會明白。要解決這個問題,你可以註釋掉整個文件。
感謝您的出色答案!這對我幫助很大。 – 2009-09-08 04:57:32
它是`--with- {library}`和`--show-libraries`。兩個' - ',而不是一個。 – KTC 2010-05-14 09:57:49
謝謝KTC,文件說的是一樣的。我糾正了答案。 – vividos 2010-05-17 08:34:19