您的位置:首页 > 运维架构

boost.asio openssl zlib protobuf icu vs2015编译

2017-11-27 10:45 781 查看
很早以前基于boost.asio开发了服务器程序,今天需要重新准备一下编译环境,把过程记录下来做个备份。

现在的windows平台开发环境win10 + vs2015

编译protobuf 2.6.1 (不兼容protobuf 3.x版本)

下载源代码
https://github.com/google/protobuf/releases
使用vs2015打开vsprojects\protobuf.sln

添加预处理_SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS

编译项目protoc就可以了。

ICU

从官方网站下载icu52版本
https://jaist.dl.sourceforge.net/project/icu/ICU4C/52.1/icu4c-52_1-Win32-msvc10.zip
用来处理utf8和gbk字符集。

这个库没有编译源代码,直接使用官方已编译版本。

编译zlib

从官方网站下载源代码。

无需编译,编译boost时指定zlib源代码位置既可,服务器端使用boost::iostream来处理数据压缩。

编译openssl

下载ActivePerl并安装,一路next就可以了。

下载openssl源代码,这里采用1.0.2m版本,由于1.1.0的编译方法不一样,并且和boost的老版本不匹配所以没有采用。

打开vs2015的命令行窗口 "VS2015 开发人员命令提示"

perl Configure VC-WIN32no-asm --prefix=d:\openssl
生成makefile文件
ms\do_ms
编译
nmake -f ms\nt.mak
测试
nmake -f ms\nt.mak test
安装
nmake -f ms\nt.mak install
以上是静态库编译方式,如果是动态库编译把nt.mak换成ntdll.mak就可以了.

编译boost 1.59

下载源代码并解压

执行tools\build\bootstrap.bat生成bjam.exe

把bjam拷贝到boost根目录

执行以下命令编译boost

b2 --prefix=d:\boost\1.59 -sZLIB_SOURCE=d:\zlib\zlib-1.2.8 toolset=msvc-14.0 install

编译需要一段时间,耐心等待完成就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: