zoukankan      html  css  js  c++  java
  • 编译并使用boost库(win7+boost1.63+vs2015+32位or 64位),超详细,boost于vs2017下编译(64/32bit)

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

    下载地址:
     

    也可以从这里直接下载

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

    下载完成后解压出来


    编译32位的boost库

     

    打开vs的32位命令行工具

     

    进入到boost源代码文件夹中

     

    进入到boost源代码文件夹中

     

    运行bootstrap.bat

     

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

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

    bjam stage --toolset=msvc-14.0 --without-graph --without-graph_parallel --stagedir="D:oostoost_1_63_0invc14" 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是指定编译后存放的目录)

    bjam stage --toolset=msvc-14.0 architecture=x86 address-model=64 --without-graph --without-graph_parallel --stagedir="D:oostoost_1_63_0invc14-x64" link=static runtime-link=shared runtime-link=static threading=multi debug release


    这样得到的是就是64位的boot库

    开始使用boost

     

    设置测试的程序为64位

     

    设置附加的包含路径(下载之后解压的boost文件夹):

     

    设定库路径:

     
     

    然后建立第一个boost项目,代码如下:

    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.  
      }
    得到输出
     

    附录

    附上版本对应编号

    1.  
      VC6
    2.  
      VC7(2003)
    3.  
      VC8(2005)
    4.  
      VC9(2008)
    5.  
      VC10(2010)
    6.  
      VC11(2012)
    7.  
      VC12(2013)
    8.  
       

    https://blog.csdn.net/zengraoli/article/details/70187556

    一个boost线程池的例子

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

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

     
     
     
    下面文章是vs2015编译, 将140换为141,则可以编译给vs2017用.
    编译64位:
    先打开vs2017 64位环境的cmd环境, 进入boost源目录, 运行bootstrap.bat,然后运行下面编译命令,
    stagedir用来指定库存放的位置
    bjam stage --toolset=msvc-14.1 architecture=x86 address-model=64 --without-graph --without-graph_parallel --stagedir="c:oostoost_1_64_0invc141-x64" link=static runtime-link=shared runtime-link=static threading=multi debug release
    编译32位:
    先打开vs2017 x86环境的cmd环境, 进入boost源目录, 运行bootstrap.bat,然后运行下面编译命令,
    bjam stage --toolset=msvc-14.1 --without-graph --without-graph_parallel --stagedir="c:oostoost_1_64_0invc141-x86" link=static runtime-link=shared runtime-link=static threading=multi debug release
    要等好一会儿的.
     
    https://blog.csdn.net/rocklee/article/details/72885587
  • 相关阅读:
    C#跨窗体操作(引用传递)
    C#中使用自定义消息
    WebService基于SoapHeader实现安全认证[webservice][.net][安全][soapheader]
    C#webBrowser实现在新选项卡打开链接
    ASP.NET FormsAuthentication跨站点登录时绝对地址返回的问题
    winform 实现TextBox 关键字智能提示
    SQL批量上传海量数据的存储过程
    优化SQL 语句 in 和not in 的替代方案
    (转)CMMI+人性化管理=软件流程改善成功之道
    两个ComboBox互相联动的一种解决方法
  • 原文地址:https://www.cnblogs.com/findumars/p/9362189.html
Copyright © 2011-2022 走看看