在Visual Sutdio 2017中使用boost库
来源:互联网 发布:课工场js培训 编辑:程序博客网 时间:2024/06/03 15:18
对C++有一定了解的同学一定听说过boost库,这是C++的一个著名类库,在C++的地位感觉可以和Spring在Java中相比。boost向来有准标准库之称,很多新特性例如智能指针等都是先在boost中实现,后来被吸收到标准库之中。而且boost实现了日志、算法、日期、地理、数学、线程协程等各种实用工具,所以如果要学习C++,boost是必须要学习的一个东西。
安装boost
下载boost
boost官网是http://www.boost.org/,目前最新的版本是1.65.1,可以到这里下载。下载页面里有Unix和Windows的源码,以及Windows版本的第三方二进制包。我们选择下载源码。
下载完成后解压到一个目录,例如我就放到了D:\DevTools\boost_1_65_1
,目录结构如下图。
boost
目录下是boost的头文件,libs
下是boost的源代码。其他文件夹的内容是文档和一些工具等等,就不介绍了。
添加环境变量
将你放置boost代码的目录设置为环境变量BOOST_ROOT
,这个目录将在后面用到。
生成boost命令行工具
首先确保你安装了Visual Studio 2017,并安装了 Visual Studio 2017 Developer Command Prompt工具。
打开VS 2017 Developer Command Prompt,切换到boost目录,执行bootstrap.bat
脚本,如果执行成功的话,会生成b2.exe
等几个工具,这样生成工具的工作就完成了。
在VS中设置
在VS中新建一个C++项目,然后打开项目属性页,然后切换到VC++目录,在包含目录和库目录中分别添加BOOST_ROOT
和BOOST_ROOT\libs
两个文件夹。
配置完成后,就可以在项目中使用boost了。当然对于Visual Studio来说,还有更简单的办法,那就是使用NuGet。
使用NuGet添加
配置完之后,我还发现微软的NuGet竟然也可以添加boost。方法很简单,在项目菜单中点击管理NuGet包,然后搜索boost
,然后点击右边的下载按钮即可。
由于boost是一个比较大的库,所以这个安装过程可能需要多花费几分钟。安装完成后boost类库会放到项目文件夹的package文件夹中。NuGet会自动帮我们配置好包含路径等设置。我们接下来直接使用就可以了。
运行boost程序
配置好之后,就可以运行boost程序了。例如这里我准备使用boost库的一些高精度(最大可达100位)数学常量(值得吐槽的是C++标准库居然没有像样的数学库,能用的只有<cmath>
,而且甚至连PI常量都没有)。
#include <boost/math/constants/constants.hpp>#include <boost/multiprecision/cpp_dec_float.hpp>#include <iostream>#include <iomanip>using namespace std;using namespace boost::math::constants;using namespace boost::multiprecision;int main(){ cout << "圆周率是:" << setprecision(50) << pi<cpp_dec_float_50>() << endl; cout << "自然对数e是:" << setprecision(50) << e<cpp_dec_float_50>() << endl; cout << "根号2是:" << setprecision(50) << root_two<cpp_dec_float_50>() << endl; return 0;}// 圆周率π是:3.1415926535897932384626433832795028841971693993751// 自然对数e是:2.7182818284590452353602874713526624977572470937// 根号2是:1.4142135623730950488016887242096980785696718753769
- 在Visual Sutdio 2017中使用boost库
- svn在sutdio中使用
- 如何在Visual Sutdio中编写JAVA工程?
- 如何在Visual Studio 2010中使用C++“准”标准库 Boost 1.49.0
- 如何在Visual Studio 2010中使用C++“准”标准库 Boost 1.49.0
- 在Visual Studio里使用boost
- 在code::block中使用boost库
- 在IOS 中使用BOOST C++库
- 在code::block中使用boost库
- 在code::block中使用boost库
- Boost库在VS2010环境中使用
- 如何在Qt中使用boost库
- 转载:在Visual Studio 2005下编译使用C++扩展库boost
- 在VC中使用正则表达式(boost库)
- 在windows下的qcreator中使用boost库
- 在VS2008中使用正则表达式库 Boost.Regex
- Linux系统下编译Boost库,并在Qt Creator中使用Boost库
- Linux系统下编译Boost库,并在Qt Creator中使用Boost库 .
- Foul Play UVA
- EEPROM_IIC
- mysql数据库的使用及查询语句
- 自话遗传算法(带实例)
- BZOJ1503: [NOI2004]郁闷的出纳员(洛谷P1486)
- 在Visual Sutdio 2017中使用boost库
- 【学习C++】C++项目的头文件和实现文件分别写什么
- nyoj 99 单词拼接(欧拉图)
- Recycler点击事件_接口回调
- python3学习-logging模块
- 二分法查找(C)
- Craigslist :一个神奇的网站
- Ubuntu 15.04安装Beyond Compare并添加右键对比菜单
- NOIP2017 逛公园 (拓扑,dp,最短路)