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_library\boost\boost_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位库)
注意:表格中的/原本是|

Windows下 VS2015编译boost1.62的更多相关文章

  1. VS2015编译boost1.62

    VS2015编译boost1.62 Boost库是一个可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一. Boost库由C++标准委员会库工作组成员发起,其中有些内容有 ...

  2. Windows下 VS2015编译levelDB(nmake)

    VS2015编译levelDB Leveldb是一个google实现的非常高效的kv数据库,非常适合嵌入到程序中.如果有简单的key-value数据库需求,而又想使用一个数据库服务的话,levelDB ...

  3. Windows下 VS2015编译RocksDB

    VS2015编译RocksDB RocksDB 是一个来自 facebook 的可嵌入式的支持持久化的 key-value 存储系统,也可作为 C/S 模式下的存储数据库,但主要目的还是嵌入式.Roc ...

  4. Windows下 VS2015编译ForestDB

    VS2015编译ForestDB ForestDB 是一个快速的 Key-Value 存储引擎,基于层次B +树单词查找树.由 Couchbase 缓存和存储团队开发. 1.下载forestdb源码 ...

  5. Windows下PythonQt编译(vs2015+Qt5.11.2+PythonQt 3.2)

    后记: 由于自己low,没有下载罪行的python3.2导致编译上遇到种种问题,后文可以参考,建议看: <Windows7 VS2015 下编译 PythonQt3.2> https:// ...

  6. Windows下PythonQt编译(vs2015+Qt5.11.2+PythonQt 3.2)探索

    时间:2018年10月20日 笔者最近在做Qt方面的开发工作,需用到脚本程序对程序内部进行扩展,就很自然的想到了PythonQt,下面介绍PythonQt在Windows下的的安装编译心得,水平有限, ...

  7. 原创 C++应用程序在Windows下的编译、链接:第一部分 概述

    本文是对C++应用程序在Windows下的编译.链接的深入理解和分析,文章的目录如下: 我们先看第一章概述部分. 1概述 1.1编译工具简介 cl.exe是windows平台下的编译器,link.ex ...

  8. 【FFmpeg】Windows下FFmpeg编译

    由于FFmpeg是基于Linux开发的开源项目,源代码和Windows下最常见的Visual Studio提供的C/C++编译器不兼容,因此它不能使用MSVC++编译,需要在Windows下配置一个类 ...

  9. C++应用程序在Windows下的编译、链接(一)概述

    C++应用程序在Windows下的编译.链接(一)概述 本文是对C++应用程序在Windows下的编译.链接的深入理解和分析,文章的目录如下: 我们先看第一章概述部分. 1概述 1.1编译工具简介 c ...

随机推荐

  1. 不越狱安装破解软件,iResign重签名方法

    http://www.baidu.com/s?wd=iresign%E8%BD%AF%E4%BB%B6&rsv_spt=1&issp=1&rsv_bp=0&ie=utf ...

  2. AsyncHttpClient的连接池使用逻辑

    AsyncHttpClient的连接池结构很简单, NettyConnectionsPool内部重要的几个变量如下 // 连接池, 通过 host 区分不同的池 private final Concu ...

  3. 基于Otsu算法的图像自适应阈值切割

    在图像处理实践中,将灰度图转化为二值图是非经常见的一种预处理手段. 在Matlab中,能够使用函数BW = im2bw(I, level)来将一幅灰度图 I.转化为二值图. 当中.參数level是一个 ...

  4. emouse思·睿—评论与观点整理之三

    虽说我主要做的硬件,平时的兴趣爱好比较关注移动互联网,混迹于虎嗅.爱范儿.雷锋网.36Kr.cnBeta.瘾科技.i黑马.TechWeb等这类科技以及创业媒体,遗憾的是系统的去写的并不多,好在还算充分 ...

  5. QT国际化(中英转换)

    转载:https://blog.csdn.net/u012528526/article/details/54707233 QT国际化(中英转换) 我们都知道在安卓中,想做国际化很简单,只需要建立对应的 ...

  6. 如何解决在Windows Server 2008 R2 上安装证书服务重启后出现 CertificationAuthority 91错误事件

    很久都没写什么博客了,前一段时间学习2008 R2时,在自己的电脑上同时安装AD 和证书 往往会出现一个CertificationAuthority错误,如下: 产生问题的主要原因是: 证书服务器与D ...

  7. layer-list shape drawable 层叠背景 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  8. 启动项目时出现Not a JAR.......Find JAR........一指循环就是起不来

    出现问题原因就是mapper的映射文件有问题,里面的返回类型如是实体找不到或者找重复的就会这样 解决办法就是:确保在用的实体(路径)能找到,切记不能有重名的实体

  9. Persistent Netcat Backdoor

    In this example, instead of looking up information on the remote system, we will be installing a net ...

  10. Rust 的安装和使用举例

    一.环境 二.安装 $curl -sSf https://static.rust-lang.org/rustup.sh | sh Welcome to Rust. This script will d ...