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

  • 相关阅读:
    I.MX6 Surfaceflinger 机制
    理解 Android Fragment
    RPi 2B DDNS 动态域名
    RPi 2B IPC webcam server
    理解 Android MVP 开发模式
    I.MX6 system.img unpack repack
    can't set android permissions
    VMware Ubuntu 共享文件夹
    解决oracle数据库连接不上的问题
    perfect-scrollbar示例
  • 原文地址:https://www.cnblogs.com/ultracpp/p/4847233.html
Copyright © 2011-2022 走看看