Boost庫是一個(gè)功能強(qiáng)大,、構(gòu)造精巧、跨平臺,、開源并且完全免費(fèi)的C++程序庫 要使用Boost庫,,首先確認(rèn)一下你使用的開發(fā)環(huán)境是否支持編譯boost庫(http://www./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庫會(huì)缺少功能甚至不能使用。 安裝Boost庫的方法: 1,、從Boost網(wǎng)站(www.)下載壓縮包,,解壓到本地硬盤任意位置。 本文以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)前目錄下會(huì)創(chuàng)建一個(gè)stage目錄,,編譯后的lib庫會(huì)在其中。 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庫的完整編譯會(huì)耗費(fèi)大量的時(shí)間(本人在pc上花了約1個(gè)小時(shí)時(shí)間),。 完整編譯后,,需要在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.單擊第一個(gè)按鈕(屬性),,彈出項(xiàng)目屬性頁 2.選擇配置屬性->VC++目錄 3.包含目錄中增加 D:\boost_1_46_1 4.庫目錄中增加 D:\boost_1_46_1\stage\lib OK,,一切準(zhǔn)備就緒??梢蚤_始使用Boost庫了,。下面的一個(gè)小程序可以測試一下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; } 正確安裝的話,,會(huì)在控制臺輸出一行"Hello world, I'm a thread!"的信息,。 完整編譯Boost庫費(fèi)時(shí)費(fèi)力,而且也不一定在開發(fā)中都用到,,所以也可以自行選擇要編譯的庫,。 只要在運(yùn)行bjam的命令中,,添加--with-<庫名> 選項(xiàng)就可以了,或--without-<庫名>關(guān)閉某個(gè)庫的編譯,。 bjam還有許多選項(xiàng),,可參考bjam的文檔以獲得更多信息。 本文出自 “貓王的博客” 博客 |
|