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

来源:互联网 发布:ktv网络维护 编辑:程序博客网 时间:2024/05/17 05:11

首先下载得到boost的最新版(目前最新版是1.63)

下载地址:
http://www.boost.org


也可以从这里直接下载

http://download.csdn.net/detail/zengraoli/9815337

下载完成后解压出来


编译32位的boost库

打开vs的32位命令行工具



进入到boost源代码文件夹中



进入到boost源代码文件夹中



运行bootstrap.bat



执行如下操作,对boost进行编译

msvc版本14.0对应的是vs2015--stagedir是指定编译后存放的目录,文章附录有vs版本对应编号)

[cpp] view plain copy print?
  1. 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 print?
  1. 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 print?
  1. #include "boost/thread.hpp"  
  2. #include "iostream"  
  3. using namespace std;  
  4.   
  5. void mythread()  
  6. {  
  7.     cout << " hello,thread! " << endl;  
  8. }  
  9.   
  10. int _tmain(int argc, _TCHAR* argv[])  
  11. {  
  12.     boost::function<void()> f(mythread);  
  13.     boost::thread t(f);  
  14.     t.join();  
  15.     cout << " thread is over! " << endl;  
  16.   
  17.   
  18.     return 0;  
  19. }  

得到输出


附录

附上版本对应编号

[cpp] view plain copy print?
  1. VC6  
  2. VC7(2003)  
  3. VC8(2005)  
  4. VC9(2008)  
  5. VC10(2010)  
  6. VC11(2012)  
  7. VC12(2013)  


一个boost线程池的例子

附带一个boost使用线程池的例子

http://blog.csdn.net/zengraoli/article/details/70187693


原创粉丝点击