zoukankan      html  css  js  c++  java
  • win7 vs2012/2013 编译boost 1.55

    bjam install stage --toolset=msvc-11.0 --stagedir="C:Boostoost_vc_110" link=shared runtime-link=shared threading=multi debug release 
     
     
     
     
     
    当前boost最新版本为1.55,下载地址:
    http://sourceforge.net/projects/boost/files/boost/1.55.0/

    boost官网上提供了使用指导,part2:Instllation就说明了如何去编译,地址:

    http://www.boost.org/boost-build2/doc/html/index.html

    经过测试,2012和2013步骤相同,这里以2012为例。


    1、打开VS2012 Native Tools Command,可以从开始--Microsoft Visual Studio 2012找到:


    2、进入解压后的文件夹,当前放在F盘根目录下。执行bootstrap.bat,如图红框所示:


    3、编译,可以简单的使用b2 install,也可以指定存放目录,或者寻找网上其它帮助文章。

         查看帮助可以输入:.2 --help

         比如要开启多线程编译:b2 install threading=multi

         设置生成的是debug或者release

         备注:如果是使用VS2013,请指定输出库类型,否则会缺一个lib文件:

         "无法打开文件 libboost_thread_vc120_mt_sgd-1_55.lib"。

          在2013时,我是使用下面的语句进行编译:

         // 如果要获取动态库:

    1. bjam install stage --toolset=msvc-12.0 --stagedir="C:Boostoost_vc_120" link=shared runtime-link=shared threading=multi debug release  
      

         // 如果是要获取静态库:

    1. bjam install stage --toolset=msvc-12.0 --stagedir="C:Boostoost_vc_120" link=static runtime-link=static threading=multi debug release  

        其中,注意修改--toolset=msvc-12.0,将12.0修改成对应的vs版本号,12.0是VS2013的版本号。

        目标地址也要修改成你所需的。

         注意,不要漏了install,它会帮你把头文件集合到一个文件夹中。

       编译过程有一个复制过程,本次编译过程中,会在C盘根目录下生成一个boost文件夹,然后包含
    include和lib文件夹,这就是我们将要使用的头文件和库文件。省去了各种老教程中需要自己搜索库
    文件的步骤,本次编译比较长,或许你的机子很棒,编的很快。


    4、编译完了我们就使用编译在C盘中的文件。我将它们拷贝到了F盘,然后建立了一个工程测试。
       在F盘根目录下建立一个BoostTest工程用来测试。下图三个文件分别是:
       1) 将要使用的boost头文件和库文件。
       2) 解压出的boost文件夹,就是使用这个文件夹来进行 1 -- 3步骤的。
       3) 测试工程。


    5、在BoostTest中,删除了原来的文件,建立了一个main.cpp。
    例子是网上搬来的:
    http://blog.csdn.net/zengraoli/article/details/8870446
    需要简单的配置两个地方:

    这里使用绝对路径,也可以配置环境来使用。

    以下这篇文章讲述三个boost智能指针的使用,一步步简洁明了。

    http://blog.csdn.net/alex_my/article/details/17636561

  • 相关阅读:
    MySQL 操作命令梳理(5)-执行sql语句查询即mysql状态说明
    MySQL 主从同步(5)-同步延迟状态考量(seconds_behind_master和pt-heartbea)
    MySQL 操作命令梳理(4)-中文乱码问题
    WebAssembly 介绍
    Android MVP
    Android Data Binding(数据绑定)用户指南
    认知心理学告诉你什么才是高效学习
    Android O新特性和行为变更总结zz
    音视频不同步问题的原因和解决方案
    当程序员写不出代码了,该怎么办?
  • 原文地址:https://www.cnblogs.com/liaocheng/p/4243724.html
Copyright © 2011-2022 走看看