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:oost_1_66_0
2. 在命令提示符(cmd.exe)中执行安装目录下的bootstrap.bat(如D:oost_1_66_0ootstrap.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:oost_1_66_0
(2)属性->VC++目录->库目录:D:oost_1_66_0stagelib
5.在vs2010中测试代码
#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; }
参考:http://blog.csdn.net/bigbigtreewhu/article/details/44240345
https://www.cnblogs.com/matthew-2013/p/4661926.html