您好,登录后才能下订单哦!
这篇文章将为大家详细讲解有关vs2019+win10配置boost库的步骤,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
boost介绍
boost是一个准标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最大化。不过对比STL,boost更加实用。 STL集中在算法部分,而boost包含了不少工具类,可以完成比较具体的工作。
Boost库是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库由Boost社区组织开发、维护。其目的是为C++程序员提供免费、同行审查的、可移植的程序库。Boost库可以与C++标准库完美共同工作,并且为其提供扩展功能。Boost库使用Boost License来授权使用,根据该协议,商业的非商业的使用都是允许并鼓励的。
Boost社区建立的初衷之一就是为C++的标准化工作提供可供参考的实现,Boost社区的发起人Dawes本人就是C++标准委员会的成员之一。在Boost库的开发中,Boost社区也在这个方向上取得了丰硕的成果。在送审的C++标准库TR1中,有十个Boost库成为标准库的候选方案。在更新的TR2中,有更多的Boost库被加入到其中。从某种意义上来讲,Boost库成为具有实践意义的准标准库。
大部分boost库功能的使用只需包括相应头文件即可,少数(如正则表达式库,文件系统库等)需要链接库。里面有许多具有工业强度的库,如graph库。
很多Boost中的库功能堪称对语言功能的扩展,其构造用尽精巧的手法,不要贸然的花费时间研读。Boost另外一面,比如Graph这样的库则是具有工业强度,结构良好,非常值得研读的精品代码,并且也可以放心的在产品代码中多多利用。
boost主要包含一下几个大类:字符串及文本处理、容器、迭代子(Iterator)、算法、函数对象和高阶编程、泛型编程、模板元编程、预处理元编程、并发编程、数学相关、纠错和测试、数据结构、输入/输出、跨语言支持、内存相关、语法分析、杂项。 有一些库是跨类别包含的,就是既属于这个类别又属于那个类别。
boost库:
Boost库是为C++语言标准库提供扩展的一些C++程序库的总称,由Boost社区组织开发、维护。Boost库可以与C++标准库完美共同工作,并且为其提供扩展功能。
一.下载boost库
直接去官网下载http://www.boost.org
中间位置有download点击。选择要下载的安装包。这里我用的是windows,选择的是boost_1_73_0.zip。linux可以选择后缀为tar.gz和其他的。
二.编译
下载好后,解压,得到文件目录如下图,找到其中的bootstrap.bat文件:
然后打开vs2019的命令行:这里选择64位或者32位的都可以。我选择的是x86_x64的。
然后切换到你解压到的路径。运行bootstrap.bat。
cd D:\aboost\boost_1_73_0 bootstrap.bat //运行
运行之后,查看boost_1_73_0下会多出几个文件。b2。运行b2.
这里运行的时间有点长,等待就行,最后运行成功之后会显示。
在使用boost库包含上面的文件夹与链接库。
三.测试boost
1.打开VS2019,新建一个空C++项目,并创建main.cpp 文件。点击项目的属性。
2.在vc++目录中包含目录添加boost路径D:\aboost\boost_1_73_0,库目录添加D:\aboost\boost_1_73_0\stage\lib。保存即可。
3.测试(以多线程并行排序为例)
#include <iostream> #include <boost/sort/sort.hpp> #include <algorithm> #include <vector> using namespace std; int main() { vector<int> arr; while (arr.size() < 100) arr.push_back(std::rand()); boost::sort::block_indirect_sort(std::begin(arr), std::end(arr)); for_each(std::begin(arr), std::end(arr), [](int& a) { cout << a << "\t"; }); return 0; }
这里运行注意要选择,你之前命令行选择的版本,要不然boost不会包含在内,会出错。
关于vs2019+win10配置boost库的步骤就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。