VS2015编译OpenSSL

概述

OpenSSL 是一个开源的第三方库,它实现了 SSL(Secure SocketLayer)和 TLS(Transport Layer Security)协议,被普遍企业应用所采用。对于通常的开发人员而言,在 Win32 OpenSSL 上下载已经编译好的 OpenSSL 库是省力省事的好办法。对于高级的开发用户,可能须要适当的修改或者裁剪 OpenSSL,那么编译它就成为了一个关键问题。工具

下面,主要讲述如何在 Windows 上使用VS2015编译 OpenSSL 库,若是须要使用其余版本的VS,能够自行选择对应版本的命令行工具进行编译。网站

编译环境

1.我这里使用的是Visual Studio 2015,因此首先确定是须要安装好对应的开发环境了
2.下载并安装ActivePerl
我这里使用的是ActivePerl-5.26.0.2600-MSWin32-x64-403866.ex
安装完之后,可使用控制台进入Perl安装目录下的eg,执行 perl example.pl,如果提示 Hello from ActivePerl! 则说明安装Perl成功了。

3.下载并安装NASM汇编器
我这里使用的是nasm-2.13.01-installer-x64.exe
4.下载OpenSSL的源码
能够去官方网站下载
我下的是openssl-1.0.2m.tar.gz
建议使用这个版本,后续新版本可能会致使编译失败。
下载完毕之后,将源码文件解压缩到本身须要编译的地方便可。能够参考INSTALL.W32和INSTALL.W64两个文件,了解编译openSSL的各个步骤。ui

编译步骤

准备工做作好了,接下来就能够进行具体的编译工做了。
1.打开命令行工具,定位到openSSL源码所在的目录,我这里是E:\opensource\openssl\openssl-1.0.2m
2.配置openSSL相关信息,我这里设置的是将最后编译成功的各类库文件安装到E:\opensource\openssl目录下,所以输入命令行 perl Configure VC-WIN32 --prefix=E:\opensource\openssl

3.执行汇编编译,在命令行中输入 ms\do_nasm

4.选择目标VS版本,我这里使用的是VS2015。将控制台定位置VS2015安装目录\VC\bin,而后执行vcvars32.bat批处理文件,即选择当前版本做为编译程序。

5.将控制台从新定位到openSSL源码所在的目录,这里有两种选择
动态库版本输入命令行

nmake -f ms\ntdll.mak

静态库版本输入debug

nmake -f ms\nt.mak


编译成功结束之后,会在openSSL源码目录下新生成out32dll文件夹,里面包含了一些动态库和执行文件。
6.检测生成的库是否正确,能够经过执行对应的脚本进行检测
动态库版本输入3d

nmake -f ms\ntdll.mak test

静态库版本输入code

nmake -f ms\nt.mak test

若最终在终端显示 passed all tests 则表示生成的库是正确的

7.编译结束后,能够执行对应的脚本,将openSSL安装到目标位置
动态库版本输入blog

nmake -f ms\ntdll.mak install

静态库版本输入ssl

nmake -f ms\nt.mak install


执行结束之后,会在第一步设置的安装路径下生成bin、include、lib和ssl四个文件夹
openSSL编译、安装步骤到此结束。资源

注意

1.以上编译步骤对应的是Release版本,若是须要编译Debug版本,则只须要将第二步中的VC-WIN32修改成debug-VC-WIN32便可
2.若想生成不带会变支持的库,则须要在第二步执行perl Configure VC-WIN32 no-asm --prefix=E:\opensource\openssl,并将第三步改成ms\do_ms便可。

资源备用地址

我将须要的工具放在了百度云盘上,有须要的能够直接从上面获取
地址 提取码 didw

相关文章
相关标签/搜索