windows下boost库的基本使用方法
因为boost都是使用模板的技术,所以所有代码都是写在一个.hpp头文件中。这样boost中的大部分内容是不需要编译生成相应的链接库,只需要设置下面的包含目录(或者设置一下环境变量),在源文件中包含相应的头文件就可以使用了。少部分库需要生成链接库来使用。
下面介绍完整安装boost库的方法:
1、首先到boost官网去下载最新的版本的boost库:
http://www.boost.org/
2、解压文件,在命令提示符中打开到boost库的根目录下:
双击bootstrap.bat文件,生成bjam.exe,执行以下命令:
bjam --toolset=msvc --build-type=complete stage
或者直接双击bjam.exe.
等待程序编译完成,大约要两个小时左右,会在boost根目录下生成bin.v2和stage两个文件夹,其中bin.v2下是生成的中间文件,大小在2.7G左右,可以直接删除。stage下才是生成的dll和lib文件。
3、打开vs:
视图->属性管理器->当前项目->Debug|Win32->Microsoft.Cpp.Win32.user双击
在弹出的属性对话框中:
通用属性->VC++目录:"包含目录": boost的根目录,例: D:\Visual Stdio 2013\lipeng\boost\boost_1_58_0
"库目录": stage下的链接库目录,例:D:\Visual Stdio 2013\lipeng\boost\boost_1_58_0\stage\lib
通用属性->链接器->常规:"附加库目录":同上面的"库目录",例:D:\Visual Stdio 2013\lipeng\boost\boost_1_58_0\stage\lib
至此环境就配置好了,下面测试一下:
- <span style="font-size:14px;"><pre name="code" class="cpp"><span style="font-family:Courier New;">#include <cstdlib>
- #include <iostream>
- #include <vector>
- #include <iterator>
- #include <algorithm>
- #include <boost/timer.hpp>
- #include <boost/progress.hpp>
- #include <libs/date_time/src/gregorian/greg_names.hpp>
- #include <libs/date_time/src/gregorian/date_generators.cpp>
- #include <libs/date_time/src/gregorian/greg_month.cpp>
- #include <libs/date_time/src/gregorian/gregorian_types.cpp>
- #include <boost/date_time/posix_time/posix_time.hpp>
- using namespace boost;
- int main()
- {
- boost::timer t;
- boost::progress_display pd(100);
- for (int i = 0; i < 100; ++i) //进度条
- {
- ++pd;
- }
- boost::gregorian::date dt(2009, 12, 8); //date_time 库
- assert(dt.year() == 2009);
- assert(dt.day() == 8);
- boost::gregorian::date::ymd_type ymd = dt.year_month_day();
- std::cout<<"\n"<<ymd.year<<"/"<<ymd.month<<"/"<<ymd.day<<" the day is "
- <<dt.day_of_year() <<" days of this year"<< std::endl;
- std::cout << boost::gregorian::to_iso_extended_string(dt) << std::endl; //转换为其他格式
- std::cout << boost::gregorian::to_iso_string(dt) << std::endl;
- std::cout << boost::gregorian::to_simple_string(dt) << std::endl<<std::endl;
- //对数组排序操作
- std::vector<int> test_vc(100);
- std::vector<int>::iterator beg_it = test_vc.begin();
- std::vector<int>::iterator end_it = test_vc.end();
- std::srand(std::time(NULL));
- std::for_each(beg_it, end_it, [](int& n){n = rand(); });
- std::copy(beg_it, end_it, std::ostream_iterator<int>(std::cout, " "));
- std::cout << std::endl << std::endl;
- std::sort(beg_it, end_it, std::greater<int>());
- std::copy(beg_it, end_it, std::ostream_iterator<int>(std::cout, " "));
- std::cout << std::endl<<std::endl;
- boost::posix_time::ptime pt(boost::gregorian::date(2005, 2, 6));
- std::cout << t.elapsed() << "s" << std::endl; //程序运行时间
- system("pause");
- return 0;
- }</span></span>
程序正确运行:
windows下boost库的基本使用方法相关推荐
- Windows下Boost库的安装与使用
目录 1.基本介绍 2.下载安装 3.配置boost环境(VS2010) 4.测试 1.基本介绍 Boost库是为C++语言标准库提供扩展的一些C++程序库的总称,由Boost社区组织开发.维护.其目 ...
- windows下DGL库cuda版本安装
windows下DGL库cuda版本安装 方法1 在dgl官网下 https://www.dgl.ai/pages/start.html 找到对应版本 根据命令安装 但是可能会出现安装成功,但是imp ...
- Linux下boost库的编译、安装详解
1.下载源文件 去官网下载:http://www.boost.org/ 这里下载最新版本 wget https://dl.bintray.com/boostorg/release/1.64.0/sou ...
- Windows下Socket库的初始化和关闭
文章目录 1 Windows下Socket库的初始化和关闭 1 Windows下Socket库的初始化和关闭 windows下使用Socket比较特殊,使用前我们需要对socket库进行初始化,使用完 ...
- Windows下nginx的安装及使用方法入门
Windows下Nginx的安装及使用方法入门 nginx功能之一可以启动一个本地服务器,通过配置server_name和root目录等来访问目标文件 一. 下载 官网地址:http://nginx. ...
- 常用的linux远程管理方法,常用windows下远程管理Linux服务器的方法
常用windows下远程管理Linux服务器的方法 来源:互联网 作者:佚名 时间:2013-04-14 12:48 随着互联网的高速发展以及Linux企业应用的成熟,Linux被广泛应用于服务器领域 ...
- python 隐藏进程_python在windows下创建隐藏窗口子进程的方法
python在windows下创建隐藏窗口子进程的方法 发布于 2015-11-08 20:56:53 | 213 次阅读 | 评论: 0 | 来源: 网友投递 Python编程语言Python 是一 ...
- windows下运行python打印有颜色的字_在windows下Python打印彩色字体的方法
本文讲述了Python在windows下打印彩色字体的方法.分享给大家供大家参考,具体如下: ##################################################### ...
- linux boost 卸载,Ubuntu下boost库的编译安装步骤及卸载方法详解
最近由于编译一个程序用到了C++的boost库,所以便安装了这个库.但是,其中遇到了一些小问题.所以记录下来,以供别人参考. 首先说一下我的环境:Ubuntu 12.04 32bit, gcc 4. ...
最新文章
- C语言函数参数压栈顺序为何是从右到左?
- java三目运算符嵌套_替代JS中的嵌套三元运算符
- vivado 如何创建工程模式_基于Vivado的FPGA高性能开发研修班2019年8月30日上海举行...
- 01.MVC5安装Ext.Net
- 未能正确加载“Microsoft.VisualStudio.Editor.Implementation.EditorPackage“提示信息
- 对症下药,方能药到病除——如何修复drv?
- 老男孩python14期全套-老男孩第十四期Python学习班之Day01
- Landsat 数据下载与预处理
- scala机器学习实战(三) 保险数据预测分析(LR算法详解)
- 3、ORBSLAM闭环检测终局之战之sim3计算流程,确定是否检测到闭环
- 基于ESP32CAM的物联网相机系统⑧(用原生JavaWeb实现双摄像头WIFI图传)
- cad修改快捷键_CAD入门学习技巧:CAD软件中的CAD快捷键的分类
- 互联网医院系统搭建,打造在线问诊系统新模式
- 520 钻石争霸赛 2021 7-8 浪漫侧影 (25 分)
- iptable防火墙(一)
- switch()的参数注意项(转)
- 第四次网页前端培训(CSS)
- 各大APP注册时发送短信验证码是怎么实现的?
- 5.爬取5K分辨率超清唯美壁纸
- 阿里云OSS C++ SDK的编译及使用