天天看點

(原)vs2013編譯boost1.60庫

轉載請注明出處:

http://www.cnblogs.com/darkknightzh/p/5394236.html

參考網址:

http://www.cnblogs.com/chuncn/archive/2012/09/10/2679026.html

http://www.cnblogs.com/flying_bat/p/3653189.html

https://svn.boost.org/trac/boost/ticket/11885

1. 安裝

下載下傳boost_1_60_0.zip并解壓到所需位置後,輕按兩下bootstrap.bat,會生成b2.exe和bjam.exe。

如果電腦上有不同版本的vs,這時候可以使用bjam.exe。在cmd中定位到boost的檔案夾,然後輸入如下指令即可:bjam.exe stage --toolset=msvc-12.0

2. 錯誤

編譯完之後,如下:

(原)vs2013編譯boost1.60庫

提示的錯誤如下:編譯器中發生内部錯誤,msc1.cpp錯誤,第1325行。

(原)vs2013編譯boost1.60庫

解決方法:https://svn.boost.org/trac/boost/ticket/11885 說明了,該錯誤是由于沒有更新vs2013 update5。暫時先這樣用着吧。。。

最開始的時候用的是b2.exe,沒有出現上面的錯誤。是因為沒有設定任何參數。如果不設定任何參數,會生成最高版本的boost庫的lib,如我這裡裝的是13和15,生成的是vc140的lib(vs15對應的是vc14)。設定--toolset=msvc-12.0後,生成vc120的lib(vs13對應的是vc12),然後。。。就出現了編譯錯誤。

3 使用boost庫

C/C++ -> Additional Include Directories: D:\boost_1_60_0;

Linker-> Additional Library Directories: D:\boost_1_60_0\stage\lib;

Linker->Input->Additional Dependencies :libboost_signals-vc140-mt-gd-1_60.lib;libboost_regex-vc140-mt-gd-1_60.lib;

說明:紅色字型的地方,我沒有加上,實際上也能使用boost庫。