boost是一個准C++標准庫,相當於STL的延續和擴充,它的設計理念和STL比較接近,都是利用泛型讓復用達到最大化。 boost主要包含以下幾個大類: 字符串及文本處理、容器、迭代器(iterator)、算法、函數對象和高階編程、泛型編程、 模板元編程、預處理元編程、並發編程、數學相關、糾錯和測試、數據結構、輸入/輸出、跨語言支持、內存相關、語法分析、雜項。
2 boost的下載和安裝
我們可以在 boost官網 上下載最新的boost版本。由於boost庫可以像標准庫一樣在多個平台上運行 ,因此官方上只以源碼的形式提供。對於windows用戶我們往往想直接下載一個安裝組件直接安裝而不是自己編譯,我們可以在 這個網站 上直接下載對應的安裝組件, 下面我們就以這個網站為例介紹安裝組件的下載。
3. 我們可以看到這里有許多的安裝文件。這是因為 boost windows的安裝版本不但和處理器位數有關, 而且還和visio studio的版本有關 。這里我們先將 DEPENDENCY_VERSIONS.txt 文件下載下來並查看, 可以發現其中有一段說明如下:
Microsoft Visual Studio 2005 - msvc-8.0 - Service Pack 1
Microsoft Visual Studio 2008 - msvc-9.0 - Service Pack 1
Microsoft Visual Studio 2010 - msvc-10.0 - Service Pack 1
Microsoft Visual Studio 2012 - msvc-11.0 - Update 4
Microsoft Visual Studio 2013 - msvc-12.0 - Update 3
4. 比如這里我們使用的是VS2012。那么我們就應該下載 boost_1_63_0-msvc-11.0-64.exe
或者 boost_1_63_0-msvc-11.0-32.exe
。下載完畢之后根據提示按步驟安裝即可。
或者源碼安裝:
1. 下載Boost源碼。解壓boost庫目錄,例如版本1.66解壓后目錄為D:\boost_1_66_0
2. 在命令提示符(cmd.exe)中執行安裝目錄下的bootstrap.bat(如D:\boost_1_66_0\bootstrap.bat),編譯后的bjam.exe會自動拷貝到該目錄下(bjam必須與boost-build.jam在同級目錄)。
3. 編譯thread庫以及date time庫(thread庫鏈接時需要)
在命令提示符(cmd.exe)中執行以下兩條命令:(VS2010對應msvc10.0,VS2008對應msvc9.0 )
bjam --toolset=msvc-10.0 --with-date_time stage
bjam --toolset=msvc-10.0 --with-thread stage
4.在vs2010中配置boost
(1)屬性->VC++目錄->包含目錄:D:\boost_1_66_0
(2)屬性->VC++目錄->庫目錄:D:\boost_1_66_0\stage\lib
5.在vs2010中測試代碼
#include <iostream> #include <boost/thread/thread.hpp> using namespace std; struct MyThreadFunc { void operator( )( ) { cout<<"new thread"<<endl; } }threadFunc; int main(int argc, char ** argv) { boost::thread t1(threadFunc); t1.join(); return 0; }
參考:http://blog.csdn.net/bigbigtreewhu/article/details/44240345
https://www.cnblogs.com/matthew-2013/p/4661926.html