Boost庫是爲C++語言標準庫提供擴展的一些C++程序庫的總稱。
Boost庫由Boost社區組織開發、維護。其目的是爲C++程序員提供免費、同行審查的、可移植的程序庫。Boost庫可以與C++標準庫完美共同工作,並且爲其提供擴展功能。
Boost庫使用Boost License來授權使用。
大部分boost庫功能的使用只需包括相應頭文件即可,少數(如正則表達式庫,文件系統庫等)需要鏈接庫。裏面有許多具有工業強度的庫,如graph庫。
根據VS版本和操作系統位數下載合適的版本安裝
安裝後設置系統變量BoostDir和BoostLibs
在VS工程中創建兩個宏 $(BoostDir), $(BoostLibs),就可以不用使用絕對路徑了。
從開始--Microsoft Visual Studio 2013找到 Visual Studio Tools:
打開文件夾,選擇VS2013 x86 Native Tools Command
雙擊,打開命令窗口
切換到boost_1_62_0目錄
首先需要運行bootstrap.bat來生成boost庫的編譯引擎:b2.exe,bjam.exe(很重要)。
運行C:\boost_1_62_0\bootstrap.bat
編譯,可以簡單的使用b2 install,也可以指定存放目錄。
// 如果要獲取動態庫
bjam install stage --toolset=msvc-12.0 --stagedir="C:\boost_1_62_0\lib64-msvc-12.0" link=shared runtime-link=shared threading=multi debug release
// 如果是要獲取靜態庫:
bjam install stage --toolset=msvc-12.0 --stagedir="C:\boost_1_62_0\lib64-msvc-12.0" link=static runtime-link=static threading=multi debug release
注意:
-
修改--toolset=msvc-12.0,將12.0修改成對應的vs版本號,12.0是VS2013的版本號。
-
目標地址也要修改成你所需的。
-
不要漏了install,它會幫你把頭文件集合到一個文件夾中。 編譯過程有一個複製過程,編譯需要的時間比較長,本次編譯過程中,會在C盤根目錄下生成一個boost文件夾,然後包含include和lib文件夾,這就是我們將要使用的頭文件和庫文件。
bjam stage address-model=64 architecture=x86--toolset=msvc-12.0 --with-python --stagedir="C:\boost_1_62_0\lib64-msvc-12.0" link=shared runtime-link=shared threading=multi debug release
出現:python error LNK2001
解決辦法:設置Python路徑和版本
set PYTHON_ROOT=c:\Python27set PYTHON_VERSION=2.7
成功
(1)stage/install:
stage表示只生成庫(dll和lib),install還會生成包含頭文件的include目錄。
(2)toolset:
指定編譯器,可選的如borland、gcc、msvc(VC6)、msvc-9.0(VS2008)、msvc-12.0(VS2013)等。
(3)without/with:
選擇不編譯/編譯哪些庫。根據各人需要進行選擇,默認是全部編譯。
如果選擇編譯python的話,是需要python語言支持。
(4)stagedir/prefix:
stage時使用stagedir,install時使用prefix,表示編譯生成文件的路徑。
(5)build-dir:
編譯生成的中間文件的路徑。
(6)link:
生成動態鏈接庫/靜態鏈接庫。生成動態鏈接庫需使用shared方式,生成靜態鏈接庫需使用static方式。一般boost庫可能都是以static方式編譯,因爲最終發佈程序帶着boost的dll感覺會比較累贅。
(7)runtime-link:
動態/靜態鏈接C/C++運行時庫。同樣有shared和static兩種方式,這樣runtime-link和link一共可以產生4種組合方式。
(8)threading:
單/多線程編譯。一般都寫多線程程序,當然要指定multi方式了;如果需要編寫單線程程序,那麼還需要編譯單線程庫,可以使用single方式。
(9)debug/release:
編譯debug/release版本。一般都是程序的debug版本對應庫的debug版本,所以兩個都編譯。