简介
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库,编写测试程序如下:
-
-
-
int main()
-
{
-
using boost::lexical_cast;
-
int a = lexical_cast< int>( "123");
-
double b = lexical_cast< double>( "123.12");
-
std:: cout<<a<< std:: endl;
-
std:: cout<<b<< std:: endl;
-
return 0;
-
}
编译通过,执行后即可。