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 —> 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

常用库

  • 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内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • vs2019+win10配置boost库的详细教程

    boost介绍 boost是一个准标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最大化.不过对比STL,boost更加实用.  STL集中在算法部分,而boost包含了不少工具类,可以完成比较具体的工作. Boost库是为C++语言标准库提供扩展的一些C++程序库的总称.Boost库由Boost社区组织开发.维护.其目的是为C++程序员提供免费.同行审查的.可移植的程序库.Boost库可以与C++标准库完美共同工作,并且为其提供扩展功能.Boost库使用B

  • 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 -> visual studio tools -> v

  • 基于VS2019配置opencv4.0的方法步骤

    前言: 不得不说网上搜到的垃圾配置方案真是多,基本上没几个能用的,东拼西凑花了一上午弄好了自己的环境 opencv4.0下载,vs2019下载 不说废话,直接上图干净利落 1.创建新空白项目 2.添加一个主文件 3.配置opencv环境 4. 链接器配置 5. 将opencv添加到计算机环境中 6. 将文件复制到C盘的C:\Windows\SysWOW64和C:\Windows\System32文件夹中 7.最后一步:运行测试环境,测试图片自己加进去,要用双斜杠. #include <openc

  • 安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: “所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 ”的解决方法

    安装pyecharts1.8.0版本后导入pyecharts模块绘图时报错: "所有图表类型将在 v1.9.0 版本开始强制使用 ChartItem 进行数据项配置 "的解决方法; 作者这里可能仅仅只是针对某些情况,希望对你有所帮助! 安装pyecharts: 对于学习大数据可视化萌新来说我们一般都会使用 pip install pyecharts 命令来安装pyecharts包,因为这个pip命令是最简单快捷的方式,但是使用这个命令一般来说默认安装的是最新版本的包. 当我们安装完成后

  • vs2019配置C++版OpenCV的方法步骤

    目录 一.下载opencv 二.配置环境变量 三.配置vs 四.调整Debug配置为X64 五.测试 一.下载opencv 官网:https://opencv.org/releases/ 不同版本vs对应不同版本的opencv,其中高版本vs可以配置低版本vc,低版本不能配置高版本vc. windows系统直接下载Windows版本就可以(下载的文件是一个exe文件,运行相当于解压缩),下载后如果不对开源源码进行更改,是不需要重新编译的!可以直接使用. 二.配置环境变量 在Path中配置环境变量

  • thinkPHP5.0框架简单配置作用域的方法

    本文实例讲述了thinkPHP5.0框架简单配置作用域的方法.分享给大家供大家参考,具体如下: 配置参数支持作用域的概念,默认情况下,所有参数都在同一个系统默认作用域下面.如果你的配置参数需要用于不同的项目或者相互隔离,那么就可以使用作用域功能,作用域的作用好比是配置参数的命名空间一样. // 导入my_config.php中的配置参数,并纳入user作用域 Config::load('my_config.php','','user'); // 解析并导入my_config.ini 中的配置参数

  • 安装mysql 8.0.17并配置远程访问的方法

    一.安装前准备 查看数据库版本命令: mysql --version mysql-community-common-8.0.17-1.el7.x86_64.rpm mysql-community-libs-8.0.17-1.el7.x86_64.rpm mysql-community-client-8.0.17-1.el7.x86_64.rpm mysql-community-server-8.0.17-1.el7.x86_64.rpm 二.安装RPM包 依次安装上述RPM包,前后安装包为依赖关

  • VS2019配置OpenCV时找不到Microsoft.Cpp.x64.user的解决方法

    最近在配置OpenCV的时候,由于使用的是VS2019,结果找不到Microsoft.Cpp.X64.user这个文件.导致每次新建项目都得重新配置一遍,后来特意下载了vs2017,把下面这些文件拷到对应目录,就解决了. 下面附上三个文件的内容,只要按照上面目录,把文件放进去就可以了. Microsoft.Cpp.ARM.user.props <?xml version="1.0" encoding="utf-8"?> <Project Defau

  • VS2019配置OpenCV4.1.0详细教程与测试代码(推荐)

    软件需求 VS2019社区版.win10操作系统.opencv4.1.0 VS2019社区版(免费) 下载地址 OpenCV4.1.0 下载地址 配置系统环境变量 1.安装Opencv,双击刚下载好的OpenCV 选择安装目录,我选择的是C:\Opencv4.1 2.配置环境变量 注:OpenCV4.1.0没有x86,只配置x64就ok了 右键点击桌面电脑,再点击属性,进入以下界面 点击** 高级程序设置** 点击环境变量 在系统变量Path中添加环境变量 我的安装目录C:\Opencv4.1

  • VSCode (Visual Studio Code) V1.43.0下载并设置成中文语言的方法

    Visual Studio Code(简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持语法高亮.智能代码补全.自定义热键.括号匹配.代码片段.代码对比 Diff.GIT 等特性,并针对网页开发和云端应用开发做了优化.VS Code编辑器界面依然是微软经典的 VS 风格,对于常接触的人来说会很亲切. 在编程语言和语法上支持 C++, jade, PHP, Python, XML, Batch, F#, DockerFile, Coffee Script, Java,

随机推荐