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_library\boost\boost_1_62_0>bootstrap.bat --help
Building Boost.Build engineFailed to build Boost.Build engine.
Please consult bootstrap.log for further diagnostics.You can try to obtain a prebuilt binary fromhttp://sf.net/project/showfiles.php?group_id=7586&package_id=72941Also, 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> tagged boost二进制文件的名称包括编译的构建属性(如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位库) |
注意:表格中的/
原本是|
。
转载于:https://www.cnblogs.com/oloroso/p/6050596.html
Windows下 VS2015编译boost1.62相关推荐
- windows下vs2015编译POCO及使用poco操作sqlite
1.下载POCO https://pocoproject.org/releases/ 我们选择windows下的zip包下载,注意有两个版本 poco-1.9.4-all.zip poco-1.9.4 ...
- Windows下VS2015 MPI编译64位Boost1.64
Windows下VS2015编译64位Boost1.64 2017年12月08日 15:51:48 阅读数:346 参考原帖:https://gist.github.com/UnaNancyOwen/ ...
- Boost在Linux和windows下的编译 32位 64位
一 简言 1. Boost库是一个可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一 2. Boost官网地址:http://www.boost.org/ 3. 本博客示 ...
- windows下VS2015配置caffe
Windows下VS2015配置caffe,是一件其实挺简单但是坑特别多的事情,稍有不慎就爬不出来,写博客来记录最后在老师帮助下才配置成功的经验(严格按照老师的教程一步也不能错才行),当然我写得也详细 ...
- ncnn环境搭建一 - windows下protobuf编译安装
1. 环境 安装环境采用visual studio 2015 + protobuf 3.4.0 + ncnn 2. visual studio 2015安装 visual studio采用的是 vs2 ...
- tinyxml在linux和windows下的编译及使用详解
一:摘要 1.XML全称EXtensible Markup Language,翻译为可扩展标记语言,XML文件通常就是一个文本文件,可以使用任何编码 2.TinyXML是一个开源的C++用来处理XML ...
- jsoncpp在linux和windows下的编译及使用详解
一:摘要 1. JSON是一种轻量级的数据传输格式,全称为:JavaScript Object Notation,官方网址: http://www.json.org/json-zh.html 3. J ...
- Windows下MinGW编译vim7.4
学习了一段时间Vim,感觉有些功能真的很方便.因学习原因,工作平台更换到一台老式Xp电脑上,重新安装了Vim7.4.官网默认版本不支持等宽字体和GDI++渲染,需要手工编译一个修改过的版本. 1.下载 ...
- Agg在Windows下的编译与使用
Agg在Windows下的编译与使用 flyfish Agg简介 AGG(Anti-Grain Geometry)是一个开源免费的图形库. 官网地址: www.antigrain.com 主要是编译称 ...
最新文章
- 大神程序员几行代码增粉 100W 最后入狱,附源码。
- oracle表决盘奇数,Oracle 的OCR,表决盘与ASM SPFILE恢复方法
- 【Python】青少年蓝桥杯_每日一题_5.03_判断是否是三角形
- 00-02.PHP 网站假设 之 学习PHP语法 [James建站]
- P3811-[模板]乘法逆元【线性求逆元】
- loadrunner学习记录一
- 计划排布方式--甘特图
- IDEA常用设置及推荐插件
- linux 统计文件的个数
- 190530每日一句
- 第一章 FPGA数字信号处理_数字混频(NCO与DDS)
- 微信小程序点餐系统源码(微信点餐软件外卖系统)搭建
- Latex符号查询网站
- java怎么求最大值和最小值,java求最大值和最小值
- INCA车载ECU工具软件简介
- 元数据管理与数据质量保障
- 建博会网红打卡地的幕后推手,竟来自这个团队
- vue中使用防抖和截流
- 为什么选择香港虚拟主机?
- 计算机课ps软件,电脑上的ps软件叫什么
热门文章
- C++开发人脸性别识别教程(7)——搭建MFC框架之界面绘制
- 开发笔记- iOS监听某些事件的方法简单梳理
- 在子线程中创建新的窗体,遇到的问题。
- objective-c 类目(Category)和延展(Extension)
- java Socket Tcp示例三则(服务端处理数据、上传文件)
- Delphi 计算儒略日(Julian day)的代码
- react源码解析之stack reconciler
- 2 - Hexo + GitHub 搭建博客
- @Controller和@RestController的区别
- 济南长清104国道科目三考试流程(转载)