Windows下編譯boost程序庫 |
發(fā)布時間: 2012/9/11 19:50:59 |
Boost庫是一個功能強(qiáng)大、構(gòu)造精巧、跨平臺、開源并且完全免費(fèi)的C++程序庫 要使用Boost庫,首先確認(rèn)一下你使用的開發(fā)環(huán)境是否支持編譯boost庫(http://www.boost.org/users/history/version_1_46_1.html) 以windows的msvc編譯器為例,支持編譯boost庫是Visual C++: 7.1, 8.0, 9.0 10.0 如果你還在用VC++ 6.0的話,只能抱歉了。VC6編譯器由于不支持模板偏特化等許多新特性,所以有的Boost庫會缺少功能甚至不能使用。 安裝Boost庫的方法: 1、從Boost網(wǎng)站(www.boost.org)下載壓縮包,解壓到本地硬盤任意位置。 本文以boost_1_46_1版本為例,解壓位置為 D:\boost_1_16_1\ 2、進(jìn)入目錄D:\boost_1_16_1\,運(yùn)行bootstrap.bat,獲得bjam.exe 程序 3、命令行方式執(zhí)行: bjam stage --toolset=msvc-7.1 --build-type=complete --layout=versioned 其中, stage 選項(xiàng)指定boost使用本地構(gòu)建,當(dāng)前目錄下會創(chuàng)建一個stage目錄,編譯后的lib庫會在其中。 toolset 選項(xiàng)指定編譯器,對于使用visual studio 開發(fā)工具的程序員來說,需要正確填寫msvc的版本號: vs2003 : msvc-7.1 vs2005 : msvc-8.0 vs2008 : msvc-9.0 vs2010 : msvc-10.0 build-type 選項(xiàng)指定編譯類型, layout 選項(xiàng)指定需要編譯的庫名及頭文件的地址目錄名的生成策略。默認(rèn)Windows下為versioned 接下來你可以關(guān)上顯示屏去做別的事了,因?yàn)锽oost庫的完整編譯會耗費(fèi)大量的時間(本人在pc上花了約1個小時時間)。 完整編譯后,需要在visual studio IDE 中設(shè)置包含目錄和庫目錄。 Windows Visual Studio 200x IDE 通用配置 ======================================= 在菜單中選擇: 1. Tools (工具) 2. Options (選項(xiàng)) 3. Project and Solutions (項(xiàng)目) 4. VC++ Directories (VC++ 目錄) 5. Show directories for (顯示以下內(nèi)容的目錄): Include Files (包含文件) 增加 D:\boost_1_46_1 6. Show directories for (顯示以下內(nèi)容的目錄): Library Files (庫文件) 增加 D:\boost_1_46_1\stage\lib 如果是Visual Studio 2010,不再是從tools->options->project and solutions->VC++ directories 中配置庫目錄和包含目錄,而是對自己的項(xiàng)目單獨(dú)配置。 先添加/導(dǎo)入自己的項(xiàng)目,在窗體左側(cè)項(xiàng)目的屬性管理器中 1.單擊第一個按鈕(屬性),彈出項(xiàng)目屬性頁 2.選擇配置屬性->VC++目錄 3.包含目錄中增加 D:\boost_1_46_1 4.庫目錄中增加 D:\boost_1_46_1\stage\lib OK,一切準(zhǔn)備就緒?梢蚤_始使用Boost庫了。下面的一個小程序可以測試一下boost庫是否安裝正確。 #include <boost/thread/thread.hpp> #include <iostream> void hello() { std::cout 《 "Hello world, I'm a thread!" 《 std::endl; } int main(int argc, char* argv[]) { boost::thread thrd(&hello); thrd.join(); return 0; } 正確安裝的話,會在控制臺輸出一行"Hello world, I'm a thread!"的信息。 完整編譯Boost庫費(fèi)時費(fèi)力,而且也不一定在開發(fā)中都用到,所以也可以自行選擇要編譯的庫。 只要在運(yùn)行bjam的命令中,添加--with-<庫名> 選項(xiàng)就可以了,或--without 億恩科技地址(ADD):鄭州市黃河路129號天一大廈608室 郵編(ZIP):450008 傳真(FAX):0371-60123888 聯(lián)系:億恩小凡 QQ:89317007 電話:0371-63322206 本文出自:億恩科技【1tcdy.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |