1. 程式人生 > >vs2012編譯boost_1_53_0

vs2012編譯boost_1_53_0

Boost庫的介紹

       Boost庫是一個經過千錘百煉、可移植、提供原始碼的C++庫,作為標準庫的後備,是C++標準化程序的發動機之一。 Boost庫由C++標準委員會庫工作組成員發起,其中有些內容有望成為下一代C++標準庫內容。在C++社群中影響甚大,其成員已近2000人。 Boost庫為我們帶來了最新、最酷、最實用的技術,是不折不扣的“準”標準庫。

      Boost庫中比較有名的幾個庫:

   (1)Regex,正則表示式庫;

   (2)Spirit,LL parserframework,用C++程式碼直接表達EBNF;

   (3)Graph,圖元件和演算法;

   (4)Lambda,在呼叫的地方定義短小匿名的函式物件,很實用的functional功能;

   (5)conceptcheck,檢查泛型程式設計中的concept;

   (6)Mpl,用模板實現的超程式設計框架;

   (7)Thread,可移植的C++多執行緒庫;

   (8)Python,把C++類和函式對映到Python之中;

   (9)Pool,記憶體池管理;

   (10)smart_ptr,智慧指標。

1、下載boost庫

從http://www.boost.org上下載到目前最新的boost庫,快速傳送門:boost_1_53_0.zip,當然你也可以從http://sourceforge.net/projects/boost/files/boost-jam/這裡得到原始碼,快速傳送門:

我使用了後者

2、得到原始碼之後,使用vs2012的cl.exe編譯

進入到原始碼目錄中

3、建立編譯工具bjam.exe----需要執行bootstrap.bat

4、指定編譯命令

指定msvc版本11.0對應的是vs2012,--stagedir是指定編譯後存放的目錄

bjam stage --toolset=msvc-11.0 --without-graph --without-graph_parallel --without-math --without-mpi --without-python --without-serialization --without-wave --stagedir="F:\boost\boost_1_53_0\bin\vc11" link=static runtime-link=shared runtime-link=static threading=multi debug release

稍微等一會,庫就編譯好了……

5、開始使用boost

首先需要設定檔案包含目錄:

我的boost庫解壓在F盤下(看清楚是解壓的)

設定庫目錄:

“F:\boost\boost_1_53_0\”是我編譯的出來lib的目錄(看清楚是編譯的)

然後建立我們的第一個boost專案,程式碼如下:

  1. #include "stdafx.h"  
  2. #include "boost/thread.hpp"  
  3. #include "iostream"  
  4. using namespace std;  
  5. void mythread()  
  6. {  
  7.     cout << " hello,thread! " << endl;  
  8. }  
  9. int _tmain(int argc, _TCHAR* argv[])  
  10. {  
  11.     boost::function<void()> f(mythread);  
  12.     boost::thread t(f);  
  13.     t.join();  
  14.     cout << " thread is over! " << endl;  
  15.     return 0;  
  16. }  

6.這是輸出: