zoukankan      html  css  js  c++  java
  • windows下编译Boost

    1. 当前boost最新版本为1.55,下载地址:http://sourceforge.net/projects/boost/files/boost/1.55.0/

      或者从官网(www.boost.org)下载最新版的BOOST源码,如图所示.

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

      win7 vs2012/2013 编译boost 1.55

    2.  打开VS2012 Native Tools Command,可以从开始--Microsoft Visual Studio 2012找到:
      win7 vs2012/2013 编译boost 1.55
       
       
       
    3.  将下载的 boost_1_55_0.zip 解压在F盘,例如 F:oost_1_53_0

      执行bootstrap.bat,如图绿框所示:

      win7 vs2012/2013 编译boost 1.55
       
    4.  编译,可以简单的使用b2 install,也可以指定存放目录,或者寻找网上其它帮助文章。

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

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

           设置生成的是debug或者release

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

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

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

      // 如果要获取动态库:

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

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

      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文件夹,这就是我们将要使用的头文件和库文件。

      win7 vs2012/2013 编译boost 1.55
       
       
    5. 编译完了我们就使用编译在C盘中的文件。我将它们拷贝到了F盘,

      下图三个文件分别是:   1) 将要使用的boost头文件和库文件。   2) 解压出的boost文件夹,就是使用这个文件夹来进行 1 -- 3步骤的。   3)BoostTest 测试工程。

      需要简单的配置两个地方:

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

      win7 vs2012/2013 编译boost 1.55
      win7 vs2012/2013 编译boost 1.55

      也可以参考阿清给我的文档:

      添加boost库
      Boost是一个和STL类似的标准库,但它扩充了STL使得泛型的优点发挥到最佳,因此现在Boost比STL更为实用。
      Step1:下载Boost库,这里我选择下载boost_1_55_0.zip

      Step2:
      解压boost文件到本地目录(如G:oost_1_55_0),发现解压后的文件中有一个bootstrap.bat文件。然后以管理员身份打开cmd窗口,具体命令bootstrap.bat或者使用对应的VS工具,比如VS2012 x64 Native Tools Command Prompt工具打开cmd窗口,具体命令bootstrap.bat
      ,上述命令执行完毕后可以发现G:oost_1_55_0下新生成了一个bjam.exe文件

      Step3:
      对于额外的一些依赖,比如boost.nowide 官网:http://cppcms.com/files/nowide/html/index.html
      下载对应的Standard Version: boost_nowide.zip 包后,再合并到标准的boost文件中

      Step4:
      如果需要编译zlib,则需要先去http://www.zlib.net/下载对应的源码包,解压到某一路径
      比如boost/otherLib/然后
      命令行下设置环境变量 set ZLIB_SOURCE="D:dyqPoost_1_59_0otherLibzlib-1.2.3"

      Step5:
      运行bjam.exe

      Step6:
      编译32位静态库:
      b2 link=static runtime-link=static threading=multi debug release
      编译64位静态mt库:
      b2 stage --toolset=msvc-12.0 architecture=x86 address-model=64 --stagedir=".stagevc12_x64" link=static runtime-link=static threading=multi debug release

      b2 stage --toolset=msvc-12.0 architecture=x86 address-model=64 --stagedir=".stagevc12_x64" link=static runtime-link=shared threading=multi debug release

      编译64位静态md库:
      b2 stage --toolset=msvc-12.0 architecture=x86 address-model=64 --stagedir=".stagevc12_x64" link=static runtime-link=shared threading=multi debug release

      Step7:
      添加boostest工程的包含目录和库目录
      包含目录添加 G:oost_1_55_0
      库目录添加 G:oost_1_55_0stagelib


      注意:
      程序的运行时(多线程/多线程DLL)要与库保持一致,否则链接会报找不到文件的错误

       
  • 相关阅读:
    Scala篇:Scala环境及IDEA配置
    大数据篇:Hive
    大数据篇:Flume
    大数据篇:Kafka
    15.百万考生成绩如何排序
    Tomcat 架构原理解析到架构设计借鉴
    服务设计思考:平台化
    Druid:通过 Kafka 加载流数据
    12.分而治之-归并排序
    11.经典O(n²)比较型排序算法
  • 原文地址:https://www.cnblogs.com/liumeng-blog/p/8029402.html
Copyright © 2011-2022 走看看