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:\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位库)

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

原文地址:https://www.cnblogs.com/yuanxiaoping_21cn_com/p/8969847.html

时间: 2024-10-10 05:43:23

VS2015编译boost1.62的相关文章

QT5.6.0+VS2015编译MQSQL(ACCESS)X64数据库驱动

QT5.6.0+VS2015编译MQSQL(ACCESS)数据库驱动 1 说明 l 不建议QT5.6.0使用ACCESS数据库.如果想使用轻量级的数据库,可以使用Sqlite数据库. QT想要访问Access.SQL Server等数据库可以通过ODBC的方式来访问,但是QT较高版本已不提供ODBC驱动库,需要自己编译.QT5.6.0编译出来的数据库驱动是64位,但是不建议安装Access数据库,微软本身也不建议安装64位office. PS:为什么QT5.6.0不编译32位数据库驱动:编译数据

vs2015编译ffmpeg 出现错误rtmp.lib(rtmp.obj) : error LNK2001: 无法解析的外部符号 ___iob_func

vs2015编译ffmpeg(版本3.0.2)引用外部库文件librtmp出现以下错误: rtmp.lib(rtmp.obj) : error LNK2001: 无法解析的外部符号 __imp__strtod rtmp.lib(rtmp.obj) : error LNK2001: 无法解析的外部符号 __imp__sscanf rtmp.lib(rtmp.obj) : error LNK2001: 无法解析的外部符号 __imp___snprintf rtmp.lib(rtmp.obj) : e

SVN更新项目&amp;vs2015编译项目批处理文件

SVN更新项目批处理文件代码: 新建批处理文件(xxx.bat)内容如下: @echo off @echo 项目名称"svn运行目录" update "项目文件目录" --username svn帐号 --password svn密码pause 例: @echo off @echo XXXX"c:\Program Files (x86)\VisualSVN\bin\svn.exe" update "X:\X\X" --user

在windows10下面,用vs2015编译YouCompleteMe

在windows10下面,用vs2015编译YouCompleteMe 需要安装: VS2015 Python2.7.x(x86) CMake Vundle Vim7.4 LLVM 操作步骤: 在vimrc中配置Vundle,并加入 1 Bundle 'Valloric/YouCompleteMe' 在YouCompleteMe目录下,新建ycmd_build目录,切换到该目录.执行: 1 cmake -G "Visual Studio 14" -DPATHTOLLVMROOT=&qu

VS2013编译boost1.55库

1. 官网下载最新的Boost库,我的是1.55 2. 在使用vs2013编译boost-1.55.0之前,先要给boost做下修改: boost_1_55_0\boost\intrusive\detail\has_member_function_callable_with.hpp line:222 template<class U> static BOOST_PP_CAT(zeroarg_checker_, BOOST_INTRUSIVE_HAS_MEMBER_FUNCTION_CALLAB

VS2015编译后在其他平台缺失MSVCP140.DLL问题的修复

之前通过VS2015编译的程序在一些电脑上能跑,一些不能跑.试了好多台,能跑的应该是装了vs2015运行库的(不是程序),不能跑的都是缺失dll文件.网上有教程说把配置属性->C/C++->代码生成中的运行库设置为MT,即静态库.然而这样可能连编译都通不过了,报这样的错: 必须选择动态库. 只能把需要用到的dll都扔到一个文件夹里了.用dependcy.exe可以分析dll的依赖关系,经分析发现最主要的就是缺失MSVCP140.dll,但其依赖的的dll才是最让人头疼的. 可以看到他的依赖关系

caffe 02 win10 vs2015 编译(支持GPU)--http://blog.csdn.net/longji/article/details/60964998

01 必备环境 win10企业版,有GPU的硬件. vs2015 update3.cmake 3.7.2. Git.python3.5.3.CUDA8.0.cuDNN5.1. cuda_8.0.61_win10.exe下载地址: http://developer.download.nvidia.com/compute/cuda/8.0/secure/Prod2/local_installers/cuda_8.0.61_win10.exe?autho=1487739113_9ad462b1e508

使用VS2015 编译 64位的boost库

别人写的编译参考: 目标:使用VS2015 编译 64位的boost库. 一直以来都是在Win32环境下Build和使用boost,但现在基本上每天都在64位Win7下工作,所以很有必要把这几天的经验总结下来. 1. 下载并解压boost 1.61.0 压缩包 2. 解压并运行批处理文件bootstrap.bat,目录下会生成两个可执行文件 3. 和32位环境不同,x64环境下编译得先从开始菜单启动Visual Studio的VS2015 x64 Native Tools Command Pro

WIN10+QT5.9+VS2015编译RedisDesktopManager

原文:WIN10+QT5.9+VS2015编译RedisDesktopManager 官方源码编译安装说明地址:http://docs.redisdesktop.com/en/latest/install/#build-from-source 最新版(0.9.9)安装文件下载地址 ?https://download.csdn.net/download/sailorhdx/10814812 1.安装VS2015 Install Visual Studio 2015 Community with U