zoukankan      html  css  js  c++  java
  • boost vc编译

    0.下载:http://www.boost.org/

    1.编译b2.exe,bjam.exe.

    双击根目录下面的bootstrap.bat文件,生成b2.exe,bjam.exe(或者使用vs的命令行进入boost根目录下面运行bootstrap)

    如果编译64位需要vs的cmd窗口,如VS2013 x64 Native Tools Command Prompt进入到boost根目录下面运行bootstrap,编译b2.exe,biam.exe.

    2.用b2.exe生成64位的lib(不需要64位编译的版本)

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

    3.用b2.exe生成32位的lib

    b2 stage --toolset=msvc-12.0 architecture=x86 --stagedir=".\lib\vc12_x86" link=static runtime-link=static threading=multi debug release

    4.解释编译命令

    link=static/shared,静态或者动态编译boost

    runtime-link=static/shared,boost是否需要依赖vc运行库,如果你要自带vc运行库可用shared

    threading=multi/single,是否支持多线程

    红色为默认选项,如果不指定编译命令的情况下

    在一个vs版本的的情况下可以直接b2 --toolset=msvc,多个的话需要指定vs版本号b2 --toolset=msvc-12.0

    5.生成的文件名

    libboost_log-vc120-mt-sgd-1_59.lib,其中mt表示多线程,sgd中的s表示runtime 是static,gd表示debug版本。

    6.将生成的lib和头文件加到vc目录下面

    D:\boost_1_59_0加入到include下面中

    将需要lib,比如boost_1_59_0\lib\vc12_x64\lib加到lib目录下面

    7.可删除临时文件目录bin.v2

    8.测试下

    #include <boost/timer.hpp>
    #include <iostream>

    int main(int argc, char* argv[])
    {
        boost::timer t;
        std::cout << "max timespan:" << t.elapsed_max() / 3600 << "h" << std::endl;
        std::cout << "min timespan:" << t.elapsed_min() << "s" << std::endl;
        return 0;
    }

    9.参考

    http://www.cnblogs.com/zhcncn/p/3950477.html

  • 相关阅读:
    论:CMMI项目监督和控制方法(PMC)
    开发silverlight下的xps浏览器,支持xps printer输出格式
    论:CMMI风险管理方法(RSKM)
    论:CMMI项目集成管理(IPM)
    Visual studio 2010 sp1中文版正式版无法安装Silverlight5_Tools rc1 的解决办法
    混乱的Comcast
    我的幸福呢
    Windows Phone 7芒果更新
    WP7升级
    来个GPS数字统计
  • 原文地址:https://www.cnblogs.com/ultracpp/p/4847233.html
Copyright © 2011-2022 走看看