编译脚本
在boost_1_60_0.zip解压后的根目录下,新建一个build_boost_1_60_vs2015.bat文件,打来命令行并定位到当前目录下执行该bat文件(不要双击运行!),等待运行完毕即可。
bat文件内容如下:
参考自:https://studiofreya.com/2015/12/19/how-to-build-boost-1-60-with-visual-studio-2015/
call "%VS140COMNTOOLS%..\..\VC\vcvarsall.bat" x86 cd boost_1_60_0 call bootstrap.bat rem Most libraries can be static libs b2 -j8 toolset=msvc-14.0 address-model=64 architecture=x86 link=static threading=multi runtime-link=shared --build-type=minimal stage --stagedir=stage/x64 b2 -j8 toolset=msvc-14.0 address-model=32 architecture=x86 link=static threading=multi runtime-link=shared --build-type=minimal stage --stagedir=stage/win32 pause
编译完成后的lib位置
以boost::atomic的release版本为例,其编译生成的目录位置是
x64:boost_1_60_0\bin.v2\libs\atomic\build\msvc-14.0\release\address-model-64\link-static\threading-multi\libboost_atomic-vc140-mt-1_60.lib
win32:boost_1_60_0\bin.v2\libs\atomic\build\msvc-14.0\release\link-static\threading-multi\libboost_atomic-vc140-mt-1_60.lib
默认编译引发的错误
如果用到了boost::system,那么在x64模式下会出现lnk2001的错误:
ErrorLNK2001unresolved external symbol "class boost::system::error_category const & __cdecl boost::system::system_category(void)" (?system_category@system@boost@@YAAEBVerror_category@12@XZ)
解决办法:按照上面的配置编译生成x64的库。
编译参数解释
编译参数到底什么含义,以及可选的其他参数值,见官方文档说明:
http://www.boost.org/doc/libs/1_60_0/doc/html/bbv2/reference.html
相关推荐
在Visual Studio 2013环境下编译Boost 1.60库,用户可以得到针对不同架构(32位和64位)的动态库(.dll)和静态库(.lib),以满足不同项目的需求。动态库在运行时依赖于相应的.dll文件,而静态库则将库功能直接链接...
在VS2015环境下,开发者可以将这些库文件添加到项目的链接器设置中,以便在运行时能够正确地使用Boost库的功能。例如,如果项目中使用了Boost.Thread,那么需要确保链接器指向了对应的lib文件,如libboost_thread-vc...
在Visual Studio 2015(VS2015)环境下编译Boost1.71,主要是为了确保该版本的库与该IDE的兼容性,同时也能利用VS2015的特性,如C++11和C++14标准的支持。以下是详细步骤和注意事项: 1. **准备工作**: - 下载...
本教程将详述如何在Windows环境下,使用Visual Studio 2015(VS2015)编译SNMP++-3.3.11a的静态库。 首先,你需要下载SNMP++-3.3.11a的源代码包。这个版本的SNMP++是基于C++的,包含了丰富的功能和接口,可以方便地...
标题“VS2017下Boost的编译”指明了文章的主题是介绍如何在Visual Studio 2017环境下编译Boost库。Boost是一个跨平台的C++库,广泛应用于C++社区,提供许多组件,包括字符串处理、容器、数学运算、多线程处理等,极...
标题“boost_1_71_vs2015_32位.rar”指的是Boost库的1.71版本,专为32位架构且在Visual Studio 2015环境下编译的版本。Boost是一个开源的C++库集合,包含了大量的实用工具,如算法、数据结构、智能指针、线程管理、...
vs2013编译的boost库,版本是1.60。Boost是为C++语言标准库提供扩展的一些C++程序库的总称。Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一,是为C++语言标准库提供扩展...
win10 vs2015update3 boost1.68环境下编译的mongo-cxx-driver-r3.5.1、mongo-c-driver1.16.2版本,里面直接包括mongo-cxx-driver-r3.5.1(头文件、lib(32\64))
在本篇中,我们将深入探讨如何使用VS2015 64位环境,配合CUDA 9.0、QT 5.6.2、BOOST 1.64和Ceres库来编译生成COLMAP3.5。 首先,VS2015(Visual Studio 2015)是微软推出的一款强大的集成开发环境,支持C++编程,...
以下是对Boost在Windows和Solaris平台上安装和编译的详细过程。 **Windows上的Boost安装和编译** 1. **下载Boost**: 首先,你需要访问Boost官方网站(https://www.boost.org/)下载最新的源代码包。下载完成后,...
在命令提示符下,导航到Boost源代码的根目录,执行bootstrap.bat脚本来初始化构建系统。 3. **配置 Jamfile **:运行bjam或b2工具(位于boost根目录下的bin.v2路径下)来编译Boost。为了编译静态库,你需要指定相应...
### Boost编译资料命令解析 Boost是一个开源的C++库集合,它提供了许多有用的模板类和函数,可以显著提高开发效率。在实际项目中,为了能够有效地利用Boost库的功能,通常需要对其进行编译以适应不同的操作系统、...
在CentOS7系统上,Boost库的编译和安装对于开发者来说是一项重要的工作,因为这能够使他们直接利用这些库的功能,而无需自己从源代码开始编译。本压缩包提供的"boost_1_68_0"版本,是Boost库的一个稳定版本,已经...
boost windows编译好的版本,可以直接使用
本篇将详细讲解如何在CentOS7环境下编译Boost 1.69版本的静态库和动态库,并探讨其在实际应用中的重要性。 首先,让我们了解Boost库。Boost库是由C++社区开发的一系列开源库,旨在提升C++的效率、灵活性和可移植性...
使用VS2015进行Boost库的静态编译需要以下步骤: 1. 下载并解压Boost1.66.0源码。 2. 打开VS2015命令提示符,确保是以管理员身份运行。 3. 配置Boost的构建环境,通常使用`bootstrap.bat`脚本来初始化配置。 4. ...
3. **配置Boost**:进入Boost源码目录,运行`./bootstrap.sh`脚本来初始化构建系统。在配置阶段,可以指定编译选项,例如编译为动态库(`--with-libraries=thread,system`)和静态库(`link=static`),以及多线程支持(`...
在Windows 7操作系统中,使用Visual Studio 2015(VS2015)编译和使用Thrift,需要经过一系列步骤,涉及到Boost、OpenSSL、libEvent等依赖库的编译。以下是对这些步骤的详细说明: 首先,我们需要准备Boost库。...