boost 1.67编译VS2017版本

Posted qinwanlin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了boost 1.67编译VS2017版本相关的知识,希望对你有一定的参考价值。

最近想系统学习并使用一下boost的asio异步网络库,所以需要编译boost库使用,下面简单介绍如何编译。

 

编译环境

boost1.67版本,windows 10,VS2017

 

下载boost

建议到官网去下载,目前最新的是1.67版本,链接:https://dl.bintray.com/boostorg/release/1.67.0/source/,会提供很多压缩方式的压缩包,我选择了zip版本的。

 

解压

把压缩包boost_1_67_0.zip解压到当前目录,得到boost_1_67_0目录。

 

编译

直接进入boost_1_67_0目录,双击运行脚本bootstrap.bat,编译boost编译引擎(Building Boost.Build engine)。等待几分钟,就会编译出b2.exe和bjam.exe,这小步骤就表示成功了。

新建一个build_vs2017.bat脚本文件,输入如下内容:

@ECHO OFF

ECHO Building Boost lib, vs2017

bjam.exe install --prefix="boost_1_67_vs2017" --toolset=msvc-14.1  link=static runtime-link=shared threading=multi debug release

 

执行程序bjam.exe,后面的参数可执行bjam.exe --help来了解具体内容

install                        Install headers and compiled library files to the configured locations (below).

--prefix=<PREFIX>   Install architecture independent files here.Default; C:\Boost on Win32; Default; /usr/local on Unix. Linux, etc.

toolset=toolset         Indicate the toolset to build with.

link=static|shared     Whether to build static or shared libraries

runtime-link=static|shared Whether to link to static or shared C and C++ runtime.

threading=single|multi  Whether to build single or multithreaded binaries

 

等待10多分钟,即可看到当前目录下有一个目录boost_1_67_vs2017,里面则是编译出来的库,其中还包括头文件。里面的库比较多,为了方便引用具体的库,可参考库的命名规范:

http://www.cppblog.com/Robertxiao/archive/2013/01/06/197022.html

 

总结

总体来说,boost编译还是比较简单的,或者说官方提供了比较友好的编译方式,为广大的使用者减少负担,点赞。

 

以上是关于boost 1.67编译VS2017版本的主要内容,如果未能解决你的问题,请参考以下文章

VS2017编译boost库

VS2017编译LevelDB

Boost union 在 1.67 中不起作用,但在 1.61 中起作用。为啥?

为啥我无法在 win64 上使用 boost 1.54 编译 VS2012 C++ 代码?

使用 cmake 和 travis 提升 1.67 静态库

VS2008编译boost库