zoukankan      html  css  js  c++  java
  • VS2015编译boost1.62

    VS2015编译boost1.62

    Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“准”标准库。Boost由于其对跨平台的强调,对标准C++的强调,与编写平台无关。大部分boost库功能的使用只需包括相应头文件即可,少数(如正则表达式库,文件系统库等)需要链接库。但Boost中也有很多是实验性质的东西,在实际的开发中实用需要谨慎。

    在VS下,boost的头文件中会包含#pragma comment(lib,xxx)的语句,所以可以不用在项目中添加相关的库指定。
    boost中大部分库是仅有头文件,不用编译成库的。

    编译好的库可以到这里下载
    链接:http://share.weiyun.com/712e3d95bb73d7378a8c34d3518d12f3 (密码:2LNF)

    1、源码

    源码的下载可以直接去http://www.boost.org/网站下载。
    我下载的地址是http://jaist.dl.sourceforge.net/project/boost/boost/1.62.0/boost_1_62_0.7z

    2、生成编译工具

    boost库自带了bootstrap脚本来生成一个构建工具b2。打开命令行直接执行即可。

    D:development_libraryboostboost_1_62_0>bootstrap.bat --help
    Building Boost.Build engine
    
    Failed to build Boost.Build engine.
    Please consult bootstrap.log for further diagnostics.
    
    You can try to obtain a prebuilt binary from
    
       http://sf.net/project/showfiles.php?group_id=7586&package_id=72941
    
    Also, you can file an issue at http://svn.boost.org
    Please attach bootstrap.log in that case.

    这里出现了Failed to build Boost.Build engine.错误,解决办法很简单,使用VS 2015 命令行提示符来执行即可。

    3、进行编译

    b2工具的使用如下

    b2 [options] [properties] [install|stage]
    #options        选项
    #properties     特性
    #install|stage  安装还是编译到指定位置

    编译命令如下

    #编译
    b2.exe --prefix=C:Boost --build-type=complete --build-dir=build_tmp toolset=msvc-14.0 address-model=64 stage
    #安装
    b2.exe --prefix=C:Boost --build-type=complete --build-dir=build_tmp toolset=msvc-14.0 address-model=64 install

    目标和相关选项:

    选项含义
    install 安装头文件和编译后的库文件到配置的位置(如下)。
    --prefix=<PREFIX> 平台架构无关的文件(include/doc等)的安装位置
    win32默认在C:Boost
    Unix/Linux默认在/usr/local
    --exec-prefix=<EPREFIX> 安装平台架构相关的文件在这里
    默认与<PREFIX>相同
    --libdir=<DIR> 库文件安装目录
    默认<EPREFIX>/lib
    --includedir=<HDRDIR> 头文件安装目录
    默认<PREFIX>/include
    stage 仅构建和安装编译的库文件到stage目录
    --stagedir=<STAGEDIR> 安装编译的库文件目录
    默认./stage

    其他选项:

    选项含义
    --build-type=<type> 构建预定义的配置。
    注意:构建哪些variants取决于各个库的支持。
    minimal(默认) 构建一个最小集(即只构建release版本。 在Windows上,构建debug和release模式下使用共享运行时的静态多线程库。 在Linux上,这些是release模式下的静态和共享多线程库)
    complete构建debug和release版本
    --build-dir=DIR 构建指定目录(默认中间文件会在源码目录下) 推荐!#
    --show-libraries 显示构建的Boost库列表在安装步骤,然后退出
    --layout=<layout> 确定是否选择库名和头文件位置,一边可以在同一系统上使用多个版本的Boost库或多个编译器编译的。
    versioned版本名,会影响库文件名和头文件路径<HDRDIR>
    taggedboost二进制文件的名称包括编译的构建属性(如variant和threading),但不包括编译器名称和版本或Boost版本。如果使用相同的编译器构建Boost的多个变体,此选项将非常有用。
    system二进制名称不包括Boost版本号或编译器的名称和版本号。 Boost头直接安装到
    --buildid=ID 将指定的ID添加到构建的库的名称。
    默认是不添加任何东西。
    --python-buildid=ID 将指定的ID添加到依赖于Python的构建库的名称。
    默认是不添加任何东西。 但指定了--buildid,还会添加此ID。
    --help 显示相关选项说明信息
    --with-<library> 构建并安装指定的
    --without-<library> 不要构建和安装指定的

    特性:

    选项含义
    toolset=toolset 指示要构建的平台工具集。(VS2015就是msvc-14.0)
    variant=debug/release 选择构建variant
    link=static/shared 构建静态或共享库
    threading=single/multi 构建单线程或多线程二进制程序库
    runtime-link=static/shared 静态还是动态链接到C和C ++运行时库
    address-model=32/64 寻址模式(生成32位还是64位库)

    注意:表格中的/原本是|

  • 相关阅读:
    Sum Root to Leaf Numbers
    Sum Root to Leaf Numbers
    Sort Colors
    Partition List
    Binary Tree Inorder Traversal
    Binary Tree Postorder Traversal
    Remove Duplicates from Sorted List II
    Remove Duplicates from Sorted List
    Search a 2D Matrix
    leetcode221
  • 原文地址:https://www.cnblogs.com/yuanxiaoping_21cn_com/p/8969847.html
Copyright © 2011-2022 走看看