简介

Boost库是一个可移植、提供源码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一。Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,其成员近2000人。Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。

Boost库中较著名库:

1)Regex,正则表达式库;

2)Spirit,LL parser framework,用C++代码直接表达EBNF;

3)Graph,图组件和算法;

4)Lambda,在调用的地方定义短小匿名的函数对象,很实用的functional功能;

安装详解

Window下,boost库安装

操作系统:Win10

1)在官网上下载最新的boost库版本,在此具体版本为http://www.boost.org/,针对不同操作系统,下载不同的软件包,在此下载的是boost_1_65_1.zip。将其放在D:\setup文件夹下;

2)解压boost_1_65_1.zip。

3)在D:\setup\boost_1_65_1文件夹下找到bootstrap.bat文件,双击运行,此时会生成bjam.exe文件。

4)双击bjam.exe文件,此时进行编译和安装。(大概需要20分钟)。

5)安装完成后,配置编译环境。方法是在D:\setup\boost_1_60_0\tools\build\example文件夹下找到user-config.jam文件。使用文本编辑器打开后,在最后一行添加如下内容:

# using msvc : 11.0 : C:/Program Files (x86)/Microsoft Visual Studio 11.0/VC/bin/vcvars32.bat ;

6)此时boost库安装和配置完成。

7)在VS2013下新建空控制台项目,然后新建main.cpp,编写如下程序:

// ConsoleApplication2.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>  
#include <boost/thread/thread.hpp>  
void hello()
{
std::cout << "Hello world, I'm a thread!" << std::endl;
}
int main()
{
boost::thread thrd(&hello);
thrd.join();
}

8)此程序会显示错误。下面配置VS2013下的库目录和链接库目录。方法:

项目->属性->C/C++(general)中附件额外库目录:F:\softfile\boostzip\boost_1_65_1\boost_1_65_1。

项目->属性->Linker(general)中附件额外库目录:F:\softfile\boostzip\boost_1_65_1\boost_1_65_1\stage\lib。

9)运行VS2013下的项目,即可。

Linux下boost库安装

操纵系统:Ubuntu kylin 14.04

1)安装boost库的依赖库(mpi库、支持正则表达式的unicode字符集、python),具体使用如下命令:

apt-get install mpi-default-dev libicu-dev python-dev libbz2-dev

2)下载boost库,下载网址:http://www.boost.org/。然后使用tar -jxvf命令(针对.tar.bz2文件)或tar -xzvf命令(针对.tar.gz文件)进行解压。

3)修改user-config.jam文件,在其文件的最后一行添加如下信息:

using mpi ;

注意mpi后面要有一个空格。

4)编译boost库使用如下命令:

sudo ./bootstrap.sh

得到b2和bjam文件,然后执行如下命令(其中-a表示重编译,-sHAVE_ICU=1表示支持unicode/ICU编码):

sudo ./b2 -a -sHAVE_ICU=1

5)安装boost库,使用如下命令:

sudo ./b2 install

6)测试boost库,编写测试程序如下:

  1. #include <boost/lexical_cast.hpp>
  2. #include <iostream>
  3. int main()
  4. {
  5. using boost::lexical_cast;
  6. int a = lexical_cast< int>( "123");
  7. double b = lexical_cast< double>( "123.12");
  8. std:: cout<<a<< std:: endl;
  9. std:: cout<<b<< std:: endl;
  10. return 0;
  11. }

编译通过,执行后即可。

Boost库安装与使用相关推荐

  1. Restful 学习笔记1(包含centos boost库安装)

    一.基础知识 1.1 restful REST(Representational State Transfer)表象化状态转变(表述性状态转变),在2000年被提出,基于HTTP.URI.XML.JS ...

  2. C++ boost库安装

    ------------Windows------------------ Boost.Asio--(1)安装及配置 ------------ubuntu------------------ boos ...

  3. linux boost库安装

    Boost库是一个可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一. Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容.在C+ ...

  4. C++ boost库安装过程(Windows)(亲测有效)

    昨天在看<Effective C++>的时候,了解到一个很厉害的C++库,所以决定安装一下它. 先从boost官网https://www.boost.org/ 上下载下来对应的压缩包,并解 ...

  5. boost库安装编译指南

    1. 打开"适用于 VS 2017 的 x64 本机工具命令提示" C:\Program Files (x86)\Microsoft Visual Studio\2017\Ente ...

  6. BOOST库下载与安装

    下载 官网:http://www.boost.org/ 其他:https://sourceforge.net/projects/boost/files/boost-binaries/1.78.0/ 我 ...

  7. BOOST库下载安装

    一.下载 boost库官网http://www.boost.org/,但是国内限制访问不了,用下面这个: https://sourceforge.net/projects/boost/files/bo ...

  8. boost库介绍以及使用

    C++ boost库介绍以及使用 一. 什么是boost库 ​ boost 库是一个优秀的,可移植的,开源的 C++ 库,它是由 C++ 标准委员会发起的,其中一些内容已经成为了下一代 C++ 标准库 ...

  9. 编译并使用boost库(win7+boost1.63+vs2015+32位or 64位)

    博客 学院 下载 GitChat 论坛 问答 商城 VIP 活动 招聘 ITeye 码云 CSTO 写博客 发Chat 编译并使用boost库(win7+boost1.63+vs2015+32位or ...

最新文章

  1. 品质标签分几种颜色_小标签大学问,如何给实验室仪器贴标签?
  2. 白话Elasticsearch07- 深度探秘搜索技术之基于term+bool实现的multiword搜索底层剖析
  3. HBase与关系数据库
  4. 乔布斯不在了,世界一大步,苹果一小步。
  5. Eclipse ADT 使用空格替代Tab键缩进整块整块代码
  6. 截取年月日在hana中怎么写_2020高会评审进行中 工作业绩怎么写才能在评审时脱颖而出呢?...
  7. T-SQL 解析xml
  8. 阶段3 2.Spring_10.Spring中事务控制_7 spring基于注解的声明式事务控制
  9. 概览Visual Studio 15.3的第二个预览版
  10. 3D打印设计软件 FreeCAD 入门
  11. 英语常见词根词缀大全(二)
  12. 电脑系统优化清理工具CCleaner
  13. 如何看待第三方百度云 Pandownload 作者被捕?
  14. mysql int_mysql中int(10)代表什么意思?
  15. oracle 将多列数据合并成一列显示
  16. 博客园客户端UAP开发随笔 -- App UI设计的三大纪律八项注意
  17. Spring Messaging 远程代码执行漏洞分析(CVE-2018-1270)
  18. LeetCode每日一题打卡组队监督!刷题群!
  19. PL2303GC USB到串行桥控制器 Prolific旺玖
  20. word修改标题编号

热门文章

  1. 那些android你需要知道的事
  2. 你知道什么是三层架构吗?
  3. 用WIN7装oracle10g的步骤
  4. css鼠标黄哟延时,我想在css中应用延迟鼠标输出
  5. inet_aton和inet_ntoa
  6. MVC 和Spring MVC
  7. Doris集群环境搭建
  8. PMIX ERROR: ERROR in file gds_ds12_lock_pthread.c
  9. 数据采集爬虫ip代理基本原理-飞蚁代理
  10. Oracle数据库实验四查询实验三(Oracle 11g)