首先下载得到boost的最新版(目前最新版是1.63)
下载地址: http://www.boost.org
也可以从这里直接下载
javascript:void(0)
下载完成后解压出来
编译32位的boost库
打开vs的32位命令行工具
进入到boost源代码文件夹中
进入到boost源代码文件夹中
运行bootstrap.bat
执行如下操作,对boost进行编译
(msvc版本14.0对应的是vs2015,--stagedir是指定编译后存放的目录,文章附录有vs版本对应编号)
[cpp] view plain copy
- bjam stage --toolset=msvc-14.0 --without-graph --without-graph_parallel --stagedir="D:\boost\boost_1_63_0\bin\vc14" link=static runtime-link=shared runtime-link=static threading=multi debug release
这样得到的是就是32位的boot库
编译64位的boost库
打开vs的64位命令行工具
进入到boost源代码文件夹中
运行bootstrap.bat
执行如下操作,对boost进行编译
(msvc版本14.0对应的是vs2015,--stagedir是指定编译后存放的目录)
[cpp] view plain copy
- bjam stage --toolset=msvc-14.0 architecture=x86 address-model=64 --without-graph --without-graph_parallel --stagedir="D:\boost\boost_1_63_0\bin\vc14-x64" link=static runtime-link=shared runtime-link=static threading=multi debug release
这样得到的是就是64位的boot库
开始使用boost
设置测试的程序为64位
设置附加的包含路径(下载之后解压的boost文件夹):
设定库路径:
然后建立第一个boost项目,代码如下:
[cpp] view plain copy
- #include "boost/thread.hpp"
- #include "iostream"
- using namespace std;
- void mythread()
- {
- cout << " hello,thread! " << endl;
- }
- int _tmain(int argc, _TCHAR* argv[])
- {
- boost::function<void()> f(mythread);
- boost::thread t(f);
- t.join();
- cout << " thread is over! " << endl;
- return 0;
- }
得到输出
附录
附上版本对应编号
[cpp] view plain copy
- VC6
- VC7(2003)
- VC8(2005)
- VC9(2008)
- VC10(2010)
- VC11(2012)
- VC12(2013)
一个boost线程池的例子
附带一个boost使用线程池的例子