openssl在windows环境安装编译步骤

  • Post author:
  • Post category:其他



1 下载openssl源码

我下载的是稳定发布版本

OpenSSL_1_1_1c

,openssl官网下载地址



https://www.openssl.org/source/



,github下载地址


https://github.com/openssl/openssl/releases



另,编译说明里,如果要本地优化,还需要下载Nasm,但实际上我们没那么多要求,直接用no-asm选项可以跳过,因此不需要下载Nasm,如要下载



Nasm下载地址为




https://sourceforge.net/projects/nasm/



2 下载安装ActivePerl

  • 2.1 我下载的是

    ActivePerl-5.26.1.2601-MSWin32-x64-404865.exe

    ,下载地址



  • 2.2 测试是否安装成功

  • 命令行切换至安装目录,默认为 C:\Perl64\eg

  • 输入 perl example.pl

  • 输出 Hello from ActivePerl! 则安装成功


3 下载安装Visual Studio 2015或其它VS版本

4 编译32位打开”

VS2015 x86 本机工具命令提示符

“,编译64位打开”

VS2015 x64 本机工具命令提示符

“,进入到openssl解压目录,

cd /d E:\tools\openssl\openssl-OpenSSL_1_1_1c

,每次编译之前重新解压一个新的临时目录

E:\tools\openssl\openssl-OpenSSL_1_1_1c

以免编译时报错

5 编译,等待执行结束


编译平台及其对应指令集


编译类型

编译执指令

编译32位动态库debug版本

perl Configure debug-VC-WIN32 no-asm –prefix=”E:\tools\openssl\openssl111\build_debug32″

编译32位动态库Release版本

perl Configure VC-WIN32 no-asm –prefix=”E:\tools\openssl\openssl111\build_release32″

编译64位动态库debug版本

perl Configure debug-VC-WIN64A no-asm –prefix=”E:\tools\openssl\openssl111\build_debug64″

编译64位动态库Release版本

perl Configure VC-WIN64A no-asm –prefix=”E:\tools\openssl\openssl111\build_release64″

编译32位静态库debug版本

perl Configure debug-VC-WIN32 no-asm no-shared –prefix=”E:\tools\openssl\openssl111\build_debug32_static”

编译32位静态库Release版本

perl Configure VC-WIN32 no-asm no-shared –prefix=”E:\tools\openssl\openssl111\build_release32_static”

编译64位静态库debug版本

perl Configure debug-VC-WIN64A no-asm no-shared –prefix=”E:\tools\openssl\openssl111\build_debug64_static”

编译64位静态库Release版本

perl Configure VC-WIN64A no-asm no-shared –prefix=”E:\tools\openssl\openssl111\build_release64_static”


6 执行

nmake

等待执行结束

7 执行 nmake test 等待执行结束(比较耗时,可以不执行验证)

8 执行 nmake install 等待执行结束

9 至此完成,在–prefix=指定的目录下会生成目录文件夹bin、html、include、lib四个目录,

编译生成文件:

静态库版本:头文件、libcrypto.lib、libssl.lib

动态库版本(32位):头文件、libcrypto.lib、libssl.lib、libcrypto-1_1.dll、libssl-1_1.dll

动态库版本(64位):头文件、libcrypto.lib、libssl.lib、libcrypto-1_1-x64.dll、libssl-1_1-x64.dll

最终编译生成文件可到地址


https://download.csdn.net/download/qq0824/11393558


进行下载


第6步nmake时编译提示错误:NMAKE : fatal error U1077: “rc”: 返回代码“0x1”

分析原因:

将Rc.exe路径添加到系统环境变量PATH,我的路径是:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Bin\x64


注意:

如果是需要静态库,需要加上

no-shared

参数,且必须先安装dmake工具,用vc自带的nmake会失败,安装指令是在perl安装完成后,以管理员权限打开命令行,执行

ppm install dmake,

这需要联网执行。

加了 no-shared 以后,最后的nmake install命令可能会失败,这时候需要手动拷贝一下。


另:


参数

含义

debug-VC-WIN32

编译32位debug版本

VC-WIN32

编译32位release版本

debug-VC-WIN64A

编译64位debug版本

VC-WIN64A

编译64位release版本



版权声明:本文为qq0824原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。