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_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:\BoostUnix/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位库) |
注意:表格中的/原本是|。 |
VS2015编译boost1.62的更多相关文章
- Windows下 VS2015编译boost1.62
VS2015编译boost1.62 Boost库是一个可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一. Boost库由C++标准委员会库工作组成员发起,其中有些内容有 ...
- VS2015编译Boost1.64
一.下载并解压:boost1.64.0:http://www.boost.org/users/history/version_1_64_0.html 二.以管理员权限运行VS2015命令行工具 三.c ...
- VS2015编译Qt5.7.0生成支持XP的静态库(很不错)
一.编译工具 1.VS2015 编译Qt5.7.0的所需VS版本:Visual Studio 2013 (Update1)或Visual Studio 2015 (Update2).因为Update补 ...
- vs2013编译boost1.55.0 32/64位
在使用vs2013编译boost-1.55.0之前,先要给boost做下修改: boost_1_55_0\boost\intrusive\detail\has_member_function_call ...
- Win7 下用 VS2015 编译最新 openssl(1.0.2j)包含32、64位debug和release版本的dll、lib(8个版本)
Win7 64位系统下通过VS2015编译好的最新的OpenSSL(1.0.2j)所有八个版本的链接库, 包含以下八个版本: 1.32位.debug版LIB: 2.32位.release版LIB: 3 ...
- 用VS2015编译sqlcipher
简介 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中.它是D.RichardHipp建立的公有领域项目.它的设计目标是嵌入式的,而且目前已经在很多嵌 ...
- 实践详细篇-Windows下使用VS2015编译的Caffe训练mnist数据集
上一篇记录的是学习caffe前的环境准备以及如何创建好自己需要的caffe版本.这一篇记录的是如何使用编译好的caffe做训练mnist数据集,步骤编号延用上一篇 <实践详细篇-Windows下 ...
- VS2015编译FFMPEG,修改FFmpeg缓冲区大小解决实时流解码丢包问题,FFmpeg错误rtsp流地址卡死的问题,设置超时
之前尝试过很多网上利用Windows编译FFmpeg的文章,都没有办法编译X64位的FFmpeg,有些教程中有专门提到编译64位的FFmpeg需要下载mingw-w64-install,但是编译的过程 ...
- vs2015编译caffe
有些时候,需要在python3的环境下import caffe,需要用vs2015在python3的环境下,编译pycaffe. microsoft的windows版本的caffe,依赖的库Nuget ...
随机推荐
- [LeetCode] Product of Array Except Self 除本身之外的数组之积
Given an array of n integers where n > 1, nums, return an array output such that output[i] is equ ...
- Docker 简介
1.什么是Docker Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux 机器上.使用Docker可以让每个应用彼此相 ...
- setTimeout和setInterval从入门到精通
我们在日常web前端开发中,经常需要用到定时器方法. 前端中的定时器方法是浏览器提供的,并不是ECMAScript规范中的.是window对象的方法. 浏览器中的定时器有两种, 一种是每间隔一定时间执 ...
- vsftp简单学习思考
FTP的全称是File Transfer Protocol(文件传输协议),就是专门用来传输文件的协议.它工作在OSI模型的第七层,即是应用层,使用TCP传输而不是UDP这样FTP客户端和服务器建立连 ...
- MySQL性能优化
当今数据库的操作越来越成为整个应用的性能瓶颈,特别是Web应用更加明显.当我们设计数据库和对数据库操作时,都要考虑到性能. 1.优化查询语句,方便查询缓存 大多数MySQL服务器都开启了查询缓存,这是 ...
- OpenStack从入门到放弃
OpenStack从入门到放弃 目录: 为何选择云计算/云计算之前遇到的问题 什么是云计算 云服务模式 云应用形式 传统应用与云感知应用 openstack及其相关组件介绍 flat/vlan/gre ...
- WCF、Web API、WCF REST、Web Service比较
原文地址:http://www.dotnet-tricks.com/Tutorial/webapi/JI2X050413-Difference-between-WCF-and-Web-API-and- ...
- BZOJ 2006: [NOI2010]超级钢琴
2006: [NOI2010]超级钢琴 Time Limit: 20 Sec Memory Limit: 552 MBSubmit: 2613 Solved: 1297[Submit][Statu ...
- OS命令注入中的空格
1.bash 空格可以替换为%20.%09(tab).%2b(+) in url.{IFS} 2.Win shell 空格可以替换为%20.%09(tab).%0b.%0c.%2b(+) in url
- Mysql 常用 SQL 语句集锦
Mysql 常用 SQL 语句集锦 基础篇 //查询时间,友好提示 $sql = "select date_format(create_time, '%Y-%m-%d') as day fr ...