BOOST 的使用(下載,編譯,附加到項目使用)

BOOST庫下載鏈接:https://www.boost.org/

我下載的是圖中的版本。

我是Windows下,所以下載0.7z的(0.7z比0.zip小,建議下載0.7z)。

解壓後,運行解壓目錄下的bootstrap.bat,它會生成不b2.exe(這個文件正式編譯要用到)。

可以通過vs命令工具進行編譯,我有兩個版本,第一個是vs2015,第二個是vs2010,隨便哪個都可以。你也可以直接在BOOST解壓目錄下新建一個bat文件,將編譯命令賦值進去,點擊運行。但是前提是你需要保證編譯環境。

 

 

先編譯64位的:(編譯過程中可能需要好一段時間的哈)

打開x64位工具後,進入到BOOST的解壓目錄下,我的是這個位置:

編譯64位靜態庫命令:

.\b2 stage --toolset=msvc-10.0 address-model=64 --stagedir="./stage/static/vc100/x64" --without-python --without-mpi --without-wave --without-graph --without-serialization link=static runtime-link=shared threading=multi debug release

編譯完成後,刪除bin.v2這個目錄。編譯的庫在《解壓的boost目錄 /stage/static/vc100/x64》下

 

編譯64位動態庫命令:

.\b2 stage --toolset=msvc-10.0 address-model=64 --stagedir="./stage/shared/vc100/x64" --without-python --without-mpi --without-wave --without-graph --without-serialization link=shared runtime-link=shared threading=multi debug release

編譯完成後,刪除bin.v2這個目錄。編譯的庫在《解壓的boost目錄 /stage/shared/vc100/x64》下

 

編譯32位的:

關閉剛纔的命令工具,打開32位的命令提示工具,VS下默認的就是32位的。同樣進入到解壓的boost目錄下。

 

編譯32位靜態庫命令:

.\b2 stage --toolset=msvc-10.0 --stagedir="./stage/static/vc100/win32" --without-python --without-mpi --without-wave --without-graph --without-serialization link=static runtime-link=shared threading=multi debug release

編譯完成後,刪除bin.v2這個目錄。編譯的庫在《解壓的boost目錄 /stage/static/vc100/win32》下

 

編譯32位動態庫命令:

.\b2 stage --toolset=msvc-10.0 --stagedir="./stage/shared/vc100/win32" --without-python --without-mpi --without-wave --without-graph --without-serialization link=shared runtime-link=shared threading=multi debug release

編譯完成後,刪除bin.v2這個目錄。編譯的庫在《解壓的boost目錄/stage/shared/vc100/win32》下

 

編譯到這裏就完成了。下面將BOOST庫附加到項目中。

我用的是vs2015

(1)新建一個boost測試項目

(2)對項目的屬性進行配置:


 

 

下面是我的測試代碼,測試的是BOOST庫中的智能指針。

 

#include<iostream>
#include<boost\shared_ptr.hpp>
using namespace std;

int main()
{
	boost::shared_ptr<int> ptr(new int);
	*ptr = 100;
	cout << *ptr << endl;
	system("pause");
	return 0;
}

 

如果不能運行成功,可以檢測一下自己附加庫目錄是否正確,以及自己的環境是否配置正確

 

不知道是否有錯誤的地方,如果有,還請多包涵啊。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章