一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - C/C++ - VS2019配置BOOST的方法(v1.70.0庫)

VS2019配置BOOST的方法(v1.70.0庫)

2021-09-22 11:38RiskAI C/C++

這篇文章主要介紹了VS2019配置BOOST的方法(v1.70.0庫),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

安裝編譯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配置BOOST的方法(v1.70.0庫)

雙擊運行可能出現閃退,最好的辦法(親測有效): 選擇vs2019 —> visual studio tools —> vc —> x86_x64 Cross Tools Command Prompt for VS 2,打開命令行:

VS2019配置BOOST的方法(v1.70.0庫)

VS2019配置BOOST的方法(v1.70.0庫)

切換到boost_1_70_0的安裝目錄,(本人安裝路徑:E:\program\boost_1_70_0)

  1. cd E:\program\boost_1_70_0
  2. bootstrap.bat # 執行

執行會發現當前文件夾中增加了幾個文件,找到其中的bjam.exe,如下圖所示

VS2019配置BOOST的方法(v1.70.0庫)

命令行執行:

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個路徑,如下圖:

VS2019配置BOOST的方法(v1.70.0庫)

或可以新建一個系統環境變量BOOST_DIR,值為E:\program\boost_1_70_0。

在path系統環境變量中添加:%BOOST_DIR%;

VC++包含目錄中添加: %BOOST_DIR%;

VC++庫目錄中添加: %BOOST_DIR%\stage\lib;

代碼測試

  1. #include <boost/lexical_cast.hpp>
  2. #include <iostream>
  3.  
  4. using namespace std;
  5. using namespace boost;
  6.  
  7. int main()
  8. {
  9. //system("chcp 65001");
  10.  
  11. double a = lexical_cast<double>("3.1415926");
  12. string str = lexical_cast<string>("3.1415926");
  13. cout << "This is a number: " << a << endl;
  14. cout << "This is a string: " << str << endl;
  15. int b = 0;
  16. try {
  17. b = lexical_cast<int>("neo");
  18. }
  19. catch (bad_lexical_cast& e) {
  20. cout << e.what() << endl;
  21. }
  22. return 0;
  23. }

運行輸出(正常):

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

常用庫

  • Regex
  • 正則表達式庫
  • Spirit
  • LL parser framework,用C++代碼直接表達EBNF
  • Graph
  • 圖組件和算法
  • Lambda
  • 在調用的地方定義短小匿名的函數對象,很實用的functional功能
  • concept check
  • 檢查泛型編程中的concept
  • Mpl
  • 用模板實現的元編程框架
  • Thread
  • 可移植的C++多線程庫
  • Python
  • 把C++類和函數映射到Python之中
  • Pool
  • 內存池管理
  • smart_ptr
  • 5個智能指針,學習智能指針必讀,一份不錯的參考是來自CUJ的文章:

相關圖書編輯

  • Boost程序庫完全開發指南:深入C++“準”標準庫
  • C++11/14高級編程:Boost程序庫探秘(第3版)
  • Boost程序庫探秘:深度解析C++準標準庫

到此這篇關于VS2019配置BOOST的方法(v1.70.0庫)的文章就介紹到這了,更多相關VS2019配置BOOST內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://blog.csdn.net/jhsword/article/details/95061632

延伸 · 閱讀

精彩推薦
  • C/C++深入理解goto語句的替代實現方式分析

    深入理解goto語句的替代實現方式分析

    本篇文章是對goto語句的替代實現方式進行了詳細的分析介紹,需要的朋友參考下...

    C語言教程網7342020-12-03
  • C/C++學習C++編程的必備軟件

    學習C++編程的必備軟件

    本文給大家分享的是作者在學習使用C++進行編程的時候所用到的一些常用的軟件,這里推薦給大家...

    謝恩銘10102021-05-08
  • C/C++詳解c語言中的 strcpy和strncpy字符串函數使用

    詳解c語言中的 strcpy和strncpy字符串函數使用

    strcpy 和strcnpy函數是字符串復制函數。接下來通過本文給大家介紹c語言中的strcpy和strncpy字符串函數使用,感興趣的朋友跟隨小編要求看看吧...

    spring-go5642021-07-02
  • C/C++C語言中炫酷的文件操作實例詳解

    C語言中炫酷的文件操作實例詳解

    內存中的數據都是暫時的,當程序結束時,它們都將丟失,為了永久性的保存大量的數據,C語言提供了對文件的操作,這篇文章主要給大家介紹了關于C語言中文件...

    針眼_6702022-01-24
  • C/C++C語言實現電腦關機程序

    C語言實現電腦關機程序

    這篇文章主要為大家詳細介紹了C語言實現電腦關機程序,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    xiaocaidayong8482021-08-20
  • C/C++c++ 單線程實現同時監聽多個端口

    c++ 單線程實現同時監聽多個端口

    這篇文章主要介紹了c++ 單線程實現同時監聽多個端口的方法,幫助大家更好的理解和學習使用c++,感興趣的朋友可以了解下...

    源之緣11542021-10-27
  • C/C++C/C++經典實例之模擬計算器示例代碼

    C/C++經典實例之模擬計算器示例代碼

    最近在看到的一個需求,本以為比較簡單,但花了不少時間,所以下面這篇文章主要給大家介紹了關于C/C++經典實例之模擬計算器的相關資料,文中通過示...

    jia150610152021-06-07
  • C/C++C++之重載 重定義與重寫用法詳解

    C++之重載 重定義與重寫用法詳解

    這篇文章主要介紹了C++之重載 重定義與重寫用法詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下...

    青山的青6062022-01-04
主站蜘蛛池模板: www.男人天堂 | 肉浦团在线观看 | 俄罗斯烧性春三级k8播放 | 无码精品一区二区三区免费视频 | 99久9在线视频 | 国内精品91最新在线观看 | 日韩永久在线观看免费视频 | 亚欧视频在线观看 | 奇米影视一区 | 欧美伊人久久久久久久久影院 | 欧美日韩国产精品综合 | 美女扒开尿口让男生添 漫画 | 国产精品久久毛片完整版 | 日本护士xxxx视频免费 | 日韩精品一二三区 | 国产成人盗摄精品 | 色就色欧美综合偷拍区a | 午夜欧美精品久久久久久久 | 国产成人永久免费视 | 调教处男 | 天天躁夜夜躁很很躁 | 成免费视频 | 韩国办公室激情 | 天天做天天爱天天爽综合区 | 亚洲国产第一区二区三区 | 2019中文字幕 | 国产精品馆 | 国产不卡视频一区二区在线观看 | 亚洲欧洲综合 | 水多多凹凸福利视频导航 | 爱福利一区二区 | 情趣内衣在线观看 | 亚洲国产自拍在线 | 韩国三级理韩国三级理人伦 | 羞羞视频动漫 | 日韩精品在线视频观看 | 国产思妍小仙女一二区 | 情侣宾馆愉拍自拍视频 | 第一国内永久免费福利视频 | luan小说| 91一个人的在线观看www |