您好,登錄后才能下訂單哦!
安裝編譯Boost c++ library
安裝Boost庫
官網下載:https://www.boost.org/users/history/version_1_70_0.html
最新版本1.70.0. (低于1.7.0的版本可能在vs2019中支持不完善,編譯或運行時發生不可預料的bug)
下載好后,解壓,得到文件目錄如下圖,找到其中的bootstrap.bat文件:
雙擊運行可能出現閃退,最好的辦法(親測有效): 選擇vs2019 —> visual studio tools —> vc —> x86_x64 Cross Tools Command Prompt for VS 2,打開命令行:
切換到boost_1_70_0的安裝目錄,(本人安裝路徑:E:\program\boost_1_70_0)
cd E:\program\boost_1_70_0 bootstrap.bat # 執行
執行會發現當前文件夾中增加了幾個文件,找到其中的bjam.exe,如下圖所示
命令行執行:
bjam.exe --toolset=msvc-14.1 architecture=x86 address-model=64 link=static --build-type=complete --with-system --with-thread --with-date_time --with-filesystem --with-serialization
Note:
MSVC 版本號對應
1.MSVC++ 14.0 _MSC_VER == 1900 (Visual Studio 2015)
2.MSVC++ 12.0 _MSC_VER == 1800 (Visual Studio 2013)
3.MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012)
4.MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010)
5.MSVC++ 9.0 _MSC_VER == 1500 (Visual Studio 2008)
6.MSVC++ 8.0 _MSC_VER == 1400 (Visual Studio 2005)
7.MSVC++ 7.1 _MSC_VER == 1310 (Visual Studio 2003)
8.MSVC++ 7.0 _MSC_VER == 1300
9.MSVC++ 6.0 _MSC_VER == 1200
10.MSVC++ 5.0 _MSC_VER == 1100
vs2019 可以支持boost c++ library 針對msvc-14.1的編譯選項
等待5-10min即可完成。
最后兩個路徑會在使用Boost庫時工程屬性中包含目錄和庫目錄中用到。
The Boost C++ Libraries were successfully built.
the following directory should be added to compiler include paths:
E:\program\boost_1_70_0
the following directory should be added to linker library paths:
E:\program\boost_1_70_0\stage\lib
這時boost庫已經安裝、編譯成功。
新建vs2019 c++項目,并添加boost依賴庫
點擊菜單欄 項目——>屬性——>選擇VC++目錄,在包含目錄 和 庫目錄添加以上2個路徑,如下圖:
或可以新建一個系統環境變量BOOST_DIR,值為E:\program\boost_1_70_0。
在path系統環境變量中添加:%BOOST_DIR%;
VC++包含目錄中添加: %BOOST_DIR%;
VC++庫目錄中添加: %BOOST_DIR%\stage\lib;
代碼測試
#include <boost/lexical_cast.hpp> #include <iostream> using namespace std; using namespace boost; int main() { //system("chcp 65001"); double a = lexical_cast<double>("3.1415926"); string str = lexical_cast<string>("3.1415926"); cout << "This is a number: " << a << endl; cout << "This is a string: " << str << endl; int b = 0; try { b = lexical_cast<int>("neo"); } catch (bad_lexical_cast& e) { cout << e.what() << endl; } return 0; }
運行輸出(正常):
This is a number: 3.14159
This is a string: 3.1415926
bad lexical cast: source type value could not be interpreted as target
c++ boost庫說明
c++ boost庫官網
官網最新版文檔說明:https://www.boost.org/doc/libs/1_70_0/
refer: 百度百科
Boost庫是一個可移植、提供源代碼的C++庫,作為標準庫的后備,是C++標準化進程的開發引擎之一,是為C++語言標準庫提供擴展的一些C++程序庫的總稱。 Boost庫由C++標準委員會庫工作組成員發起,其中有些內容有望成為下一代C++標準庫內容。在C++社區中影響甚大,是不折不扣的“準”標準庫。Boost由于其對跨平臺的強調,對標準C++的強調,與編寫平臺無關。大部分boost庫功能的使用只需包括相應頭文件即可,少數(如正則表達式庫,文件系統庫等)需要鏈接庫。但Boost中也有很多是實驗性質的東西,在實際的開發中使用需要謹慎。
Boost庫由Boost社區組織開發、維護。其目的是為C++程序員提供免費、同行審查的、可移植的程序庫。Boost庫可以與C++標準庫完美共同工作,并且為其提供擴展功能。Boost庫使用Boost License來授權使用。
Boost社區建立的初衷之一就是為C++的標準化工作提供可供參考的實現,Boost社區的發起人Dawes本人就是C++標準委員會的成員之一。在Boost庫的開發中,Boost社區也在這個方向上取得了豐碩的成果。在送審的C++標準庫TR1中,有十個Boost庫成為標準庫的候選方案。在更新的TR2中,有更多的Boost庫被加入到其中。從某種意義上來講,Boost庫成為具有實踐意義的準標準庫。
可下載Boost C++ Libraries安裝boost庫。大部分boost庫功能的使用只需包括相應頭文件即可,少數(如正則表達式庫,文件系統庫等)需要鏈接庫。里面有許多具有工業強度的庫,如graph庫。
主要分類
按照功能分類的Boost庫列表
按照實現的功能,Boost 可為大致歸入以下20個分類,在下面的分類中,有些庫同時歸入幾種類別。
字符串和文本處理
a) Conversion
b) Format
c) IOStream
d) Lexical Cast
e) Regex
f) Spirit
g) String Algo
h) Tokenizer
i) Wave
j) Xpressive
容器
a) Array
b) Bimap
c) Circular Buffer
d) Disjoint Sets
e) Dynamic Bitset
f) GIL
g) Graph
h) ICL
i) Intrusive
j) Multi-Array
k) Multi-Index
l) Pointer Container
m) Property Map
n) Property Tree
o) Unordered
p) Variant
迭代器
a) GIL
b) Graph
c) Iterators
d) Operators
e) Tokenizer
算法
a) Foreach
b) GIL
c) Graph
d) Min-Max
e) Range
f) String Algo
g) Utility
函數對象和高階編程
a) Bind
b) Function
c) Functional
d) Functional/Factory
e) Functional/Forward
f) Functional/Hash
g) Lambda
h) Member Function
i) Ref
j) Result Of
k) Signals
l) Signals2
m) Utility
泛型編程
a) Call Traits
b) Concept Check
c) Enable If
d) Function Types
e) GIL
f) In Place Factory, Typed In Place Factory
g) Operators
h) Property Map
i) Static Assert
j) Type Traits
模板元編程
a) Function Types
b) Fusion
c) MPL
d) Proto
e) Static Assert
f) Type Traits
預處理元編程
a) Preprocessors
并發編程
a) Asio
b) Interprocess
c) MPI
d) Thread
數學和數字
a) Accumulators
b) Integer
c) Interval
d) Math
e) Math Common Factor
f) Math Octonion
g) Math Quaternion
h) Math/Special Functions
i) Math/Statistical Distributions
j) Multi-Array
k) Numeric Conversion
l) Operators
m) Random
n) Rational
o) uBLAS
排錯和測試
a) Concept Check
b) Static Assert
c) Test
數據結構
a) Any
b) Bitmap
c) Compressed Pair
d) Fusion
e) ICL
f) Multi-Index
g) Pointer Container
h) Property Tree
i) Tuple
j) Uuid
k) Variant
圖像處理
a) GIL
輸入輸出
a) Asio
b) Assign
c) Format
d) IO State Savers
e) IOStreams
f) Program Options
g) Serialization
跨語言混合編程
a) Python
內存管理
a) Pool
b) Smart Ptr
c) Utility
解析
a) Spirit
編程接口
a) Function
b) Parameter
雜項
a) Compressed Pair
b) Conversion
c) CRC
d) Date Time
e) Exception
f) Filesystem
g) Flyweight
h) Lexical Cast
i) Meta State Machine
j) Numeric Conversion
k) Optional
l) Polygon
m) Program Options
n) Scope Exit
o) Statechart
p) Swap
q) System
r) Timer
s) Tribool
t) Typeof
u) Units
v) Utility
w) Value Initialized
編譯器問題的變通方案
a) Compatibility
b) Config
常用庫
相關圖書編輯
到此這篇關于VS2019配置BOOST的方法(v1.70.0庫)的文章就介紹到這了,更多相關VS2019配置BOOST內容請搜索億速云以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持億速云!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。