最近想系统学习并使用一下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版本的更多相关文章

  1. Boost正则表达式的编译与使用方法集

    下载boost 在boost官网上下载任何版本都可以www.boost.org . 将boost压缩包解压到D盘目录下 (我下载的是boost_1_54_0.zip),目录为D:\boost_1_54 ...

  2. Boost下载安装编译配置使用指南

    转载:http://www.cppblog.com/jerryma/archive/2011/10/17/158554.html --更新于2011/7/19,目前我已对boost的安装和使用有了新的 ...

  3. Boost下载安装编译配置使用指南(含Windows和Linux

    理论上,本文适用于boost的各个版本,尤其是最新版本1.45.0:适用于各种C++编译器,如VC6.0(部分库不支持),VS2003,VS2005,VS2008,gcc,C++ Builder等.先 ...

  4. Boost下载安装编译配置使用指南(含Windows和Linux) .

    理论上,本文适用于boost的各个版本,尤其是最新版本1.39.0:适用于各种C++编译器,如VC6.0(部分库不支持),VS2003,VS2005,VS2008,gcc,C++ Builder等.先 ...

  5. C++ Boost库的编译及使用

    https://www.jianshu.com/p/de1fda741beb https://www.cnblogs.com/weizhixiang/p/5804778.html Windows编译 ...

  6. win10 用cmake 3.5.2 和 vs 2015 update1 编译 GPU版本(cuda 8.0, cudnn v5 for cuda 8.0)

    win10 用cmake 3.5.2 和 vs 2015 update1 编译 GPU版本(cuda 8.0, cudnn v5 for cuda 8.0)  用vs 2015打开 编译Release ...

  7. Qt4.6.2已编译二进制版本在VS2005中的问题

    结论1:如果你想把Qt4.6.2安装在VS2005中,又不想花时间编译,请下载和安装qt-win-opensource-4.6.2-vs2008,并单独编译“QT安装路径/src/winmain/” ...

  8. 编译lua版本问题

    Compile++ thumb  : game_shared <= main.cppjni/hellocpp/main.cpp: In function 'void Java_org_cocos ...

  9. Delphi XE2 升级项目编译ralease版本,无法添加UAC解决方法

    我今天把一个原来是Delphi2007的工程升级到了Delphi XE2,在编译ralease版本时候,发现无法添加UAC,我觉得可能是升级的原因,随后我用XE2新建了一个工程,但是在编译raleas ...

随机推荐

  1. 面向对象特征:封装、多态 以及 @propetry装饰器

    (继承补充)组合 obj=fun()#对象 obj.attr=foo()#对象的属性等于另一个对象 什么是组合:     A类的对象具备某一个属性,该属性的值是B类的对象   基于这种方式就把A类与B ...

  2. 解决服务器代码执行mvn test后在classes和test-classes下找不到Spring的bean.xml配置文件问题

    昨天在jenkins构建代码后,执行mvn test 就报错如下: 提示的bean.xm不存在呀, 再来看源码ApplicationContext 的声明 ApplicationContext ctx ...

  3. 让Linux任务在后台可靠运行的几种方法

      我们经常会碰到这样的问题,用 telnet/ssh 登录了远程的 Linux 服务器,运行了一些耗时较长的任务, 结果却由于网络的不稳定导致任务中途失败.如何让命令提交后不受本地关闭终端窗口/网络 ...

  4. 测试开发之前端——No8.HTML5中的媒介事件

    媒介事件 由视频.图像以及音频等媒介触发的事件. 适用于所有 HTML 5 元素,不过在媒介元素(诸如 audio.embed.img.object 以及 video)中最常用: 属性 值 描述 on ...

  5. Android之 看“马达”如何贯通Android系统 (从硬件设计 --> 驱动 --> HAL --> JNI --> Framework --> Application)

    在Android 2.3(Gingerbread) 系统的时候,我写过一篇关于“Android 震动马达系统“的文章,当时的Linux内核还是2.6版本的.写那篇文章的目的,是想彻底的了解从硬件到驱动 ...

  6. ural1989 单点更新+字符串hash

    正解是双哈希,不过一次哈希也能解决.. 然后某个数字就对应一个字符串,虽然有些不同串对应同一个数字,但是概率非常小,可以忽略不计.从左到右.从右到左进行两次hash,如果是回文串,那么对应的整数必定存 ...

  7. python 全栈开发,Day57(响应式页面-@media介绍,jQuery补充,移动端单位介绍,Bootstrap学习)

    昨日内容回顾 ajax //get post 两种方式 做 请求 get 主要是获取数据 post 提交数据 同一个路由地址 既可以是get请求也可以是post请求 一个路由对应一个函数 get请求 ...

  8. JavaScrit全面总结

    前端技术的发展变化太快了,各种各样的框架.再变也离不开js.所以,在此把js的高级语法总结一遍.    js解析和执行包括:全局和函数 一:全局预处理 <script type="te ...

  9. Codeforces 757 C Felicity is Coming!

    题目大意:有n个训练营,m种宠物,每个训练营里里面有gi 个宠物,现在每只宠物都要完成一次进化,种类 相同的宠物进化之后,种类还是相同,种类不同的宠物不能进化成相同种类,且要求所有宠物进化之后,每个 ...

  10. Codeforces Round #428 (Div. 2)

    终于上蓝名了,hahahahaha,虽然这场的 B 题因为脑抽了,少考虑一种情况终判错了,还是很可惜的.. B题本来过来1500个人,终判之后只剩下了200多个,真的有毒!!!! A - Arya a ...