Windows 下编译 OpenSSL 32&64

参考:http://blog.csdn.net/liang19890820/article/details/51658574

           http://blog.csdn.net/sky101010ws/article/details/51682725

           https://www.cnblogs.com/coolbear/p/7196961.html

目录

简述

环境准备

WIN32编译步骤

​WIN64编译步骤


简述

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

下面,主要讲述如何在 Windows 上编译 OpenSSL 库。

 

环境准备

  1. 下载并安装 Visual Studio(以 VS 2015 为例)。

  2. 下载并安装 ActivePerl。 
    下载地址:http://www.activestate.com/activeperl/downloads 
    我下载的是:ActivePerl-5.26.0.2600-MSWin32-x64-403866.exe

    打开命令提示符,定位到 D:\Program Files\Perl\eg 目录,执行 perl example.pl,若提示 Hello from ActivePerl! 则说明 Perl 安装成功:

    这里写图片描述

  3. 下载并安装 Nasm 汇编器,并将 D:\Program Files\NASM 添加到系统环境变量 Path 中。 
    下载地址:http://www.nasm.us/ 
    我下载的是:nasm-2.13.01-installer-x64.exe

  4. 下载并安装 OpenSSL 
    下载地址:http://www.openssl.org/ 
    我下载的是:openssl-1.0.2m.tar.gz

    完成上述所有步骤,将 OpenSSL 包解压至 E:\openssl-1.0.2m,便可以进行编译了。

    注意: 解压后的目录中有两个文件 - INSTALL.W32、INSTALL.W64,包含了 OpenSSL 的各个编译步骤。

WIN32编译步骤

  1. 打开vs2015命令提示符

    Windows 下编译 OpenSSL 32&64_第1张图片

  2. 定位至 E:\openssl-1.0.2m
    Windows 下编译 OpenSSL 32&64_第2张图片

  3. release32位版本:
    输入 perl Configure VC-WIN32 no-asm --prefix="E:\OpenSSL"(将其安装到 E:\OpenSSL

    debug32位版本:
    输入 perl Configure debug-VC-WIN32 no-asm --prefix="E:\OpenSSL"(将其安装到 E:\OpenSSL

    no-asm 表示不用汇编

    Windows 下编译 OpenSSL 32&64_第3张图片

  4. 输入 ms\do_nasm
    Windows 下编译 OpenSSL 32&64_第4张图片

  5. 然后输入 nmake -f ms\ntdll.mak

    完成之后,会在 openssl-1.0.2m 目录下生成一个名为 out32dll 的文件夹,里面包含了一些动态库和 exe 文件:

    这里写图片描述

  6. 输入 nmake -f ms\ntdll.mak test,若最终显示 passed all tests 则说明生成的库正确:

  7. 输入nmake -f ms\ntdll.mak install

    完成之后,会在 E:\OpenSSL 目录下生成 bin、include、lib、ssl 四个文件夹:

    这里写图片描述
    WIN64编译步骤

  8. 打开vs2015命令提示符
    Windows 下编译 OpenSSL 32&64_第5张图片
  9. 定位至 E:\openssl-1.0.2m
  10. release64位版本:
    输入 perl Configure VC-WIN64A no-asm --prefix="E:\OpenSSL"(将其安装到 E:\OpenSSL

    debug64位版本:
    输入 perl Configure debug-VC-WIN64A no-asm --prefix="E:\OpenSSL"(将其安装到 E:\OpenSSL

    no-asm 表示不用汇编
  11. 输入 ms\do_win64a.bat
  12. 然后输入 nmake -f ms\ntdll.mak
  13. 输入 nmake -f ms\ntdll.mak test,若最终显示 passed all tests 则说明生成的库正确
  14. 输入nmake -f ms\ntdll.mak install
  15. 完成之后,会在 E:\OpenSSL 目录下生成 bin、include、lib、ssl 四个文件夹

注意:

  • 若要编译静态库,则用 ms\nt.mak 替换掉上面用到的 ms\ntdll.mak 即可。
  • 若要生成不带汇编支持的库,则需将上述第 2、3 步用 perl Configure VC-WIN32 no-asm --prefix=E:\OpenSSL 和 ms\do_ms 替换。
  • 在 E:\openssl-1.0.2m\tmp32dll 文件夹下包含相应的汇编文件。
  • 64位

    ms\do_win64a.bat

你可能感兴趣的:(c++)