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專案,程式碼如下:
- #include "stdafx.h"
- #include "boost/thread.hpp"
- #include "iostream"
- using namespace std;
- void mythread()
- {
- cout << " hello,thread! " << endl;
- }
- int _tmain(int argc, _TCHAR* argv[])
- {
- boost::function<void()> f(mythread);
- boost::thread t(f);
- t.join();
- cout << " thread is over! " << endl;
- return 0;
- }