zoukankan      html  css  js  c++  java
  • Windows下 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_libraryoostoost_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头直接安装到中。此选项适用于构建分发软件包的系统集成商。
    默认值在Windows上为“versioned”,在Unix上为“system”。
    --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位库)
    注意:表格中的/原本是|
  • 相关阅读:
    flask 基础
    新的项目部署
    linux (01) linux基础
    linux (04) linux安装mysql
    linux (06) redis安装
    linux (09) nginx反向代理,负载均衡
    linux (08) nginx入门详解
    linux (07) redis详解
    linux(05) 编译安装py3
    spring-boot war包部署(二)
  • 原文地址:https://www.cnblogs.com/oloroso/p/6050596.html
Copyright © 2011-2022 走看看