1 简介




boost是一个准C++标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最大化。 boost主要包含以下几个大类: 字符串及文本处理、容器、迭代器(iterator)、算法、函数对象和高阶编程、泛型编程、 模板元编程、预处理元编程、并发编程、数学相关、纠错和测试、数据结构、输入/输出、跨语言支持、内存相关、语法分析、杂项


2 boost的下载和安装



我们可以在 ​​boost官网​​​ 上下载最新的boost版本。由于boost库可以像标准库一样在多个平台上运行 ,因此官方上只以源码的形式提供。对于windows用户我们往往想直接下载一个安装组件直接安装而不是自己编译,我们可以在 ​​这个网站​​ 上直接下载对应的安装组件, 下面我们就以这个网站为例介绍安装组件的下载。

3. 我们可以看到这里有许多的安装文件。这是因为 boost windows的安装版本不但和处理器位数有关, 而且还和visio studio的版本有关 。这里我们先将 DEPENDENCY_VERSIONS.txt 文件下载下来并查看, 可以发现其中有一段说明如下:

Microsoft Visual Studio 2005 - msvc-8.0 - Service Pack 1 

Microsoft Visual Studio 2008 - msvc-9.0 - Service Pack 1 

Microsoft Visual Studio 2010 - msvc-10.0 - Service Pack 1 

Microsoft Visual Studio 2012 - msvc-11.0 - Update 4 

Microsoft Visual Studio 2013 - msvc-12.0 - Update 3

4. 比如这里我们使用的是VS2012。那么我们就应该下载 ​​boost_1_63_0-msvc-11.0-64.exe​​​ 或者 ​​boost_1_63_0-msvc-11.0-32.exe​​ 。下载完毕之后根据提示按步骤安装即可。

或者源码安装:

 

1. 下载​​Boost源码​​。解压boost库目录,例如版本1.66解压后目录为D:\boost_1_66_0

2. 在命令提示符(cmd.exe)中执行安装目录下的bootstrap.bat(如D:\boost_1_66_0\bootstrap.bat),编译后的bjam.exe会自动拷贝到该目录下(bjam必须与boost-build.jam在同级目录)。

3. 编译thread库以及date time库(thread库链接时需要)

    在命令提示符(cmd.exe)中执行以下两条命令:(VS2010对应msvc10.0,VS2008对应msvc9.0 )

       bjam --toolset=msvc-10.0 --with-date_time stage 

      bjam --toolset=msvc-10.0 --with-thread stage 

4.在vs2010中配置boost

   (1)属性->VC++目录->包含目录:D:\boost_1_66_0

   (2)属性->VC++目录->库目录:D:\boost_1_66_0\stage\lib

5.在vs2010中测试代码

 



boost的下载和安装(windows版)_vc++

#include <iostream>
#include <boost/thread/thread.hpp>
using namespace std;
struct MyThreadFunc {
void operator( )( ) {
cout<<"new thread"<<endl;
}
}threadFunc;
int main(int argc, char ** argv)
{
boost::thread t1(threadFunc);
t1.join();
return 0;
}


boost的下载和安装(windows版)_vc++