【OpenSSL】Windows下编译OpenSSl 1.1.1
概述: windows系统编译OpenSSL 1.1.1版本操作步骤
[toc]
0x01、编译环境说明
- 操作系统:win10
- 编译器:vs2017
- OpenSSL: 1.1.1W
0x02、依赖工具说明
根据官方说明,OpenSSL编译除了Visual Studio 2019以外,为方便编译,需要安装Strawberry Perl和NASM,下载地址分别如下:
Strawberry Perl:Strawberry Perl for Windows
NASM:NASM,这是一个汇编器
**特别注意:**Perl安装后会自动添加到环境变量中,而NASM不会,一定要在环境变量Path中添加NASM.exe所在的目录,否则可能会出现意想不到的错误。
0x03、编译步骤
下载源码
从Github中可以直接下载:GitHub - openssl/openssl: TLS/SSL and crypto library
或者在 OpenSSL 官方去下载 OpenSSL
也可以参考官方文档进行编译:openssl/NOTES-WINDOWS.md at master · openssl/openssl
0x04、编译
-
使用管理员权限打开 vs2017 的开发人员命令提示符
打开后切换到 openssl 解压目录:
-
配置 Perl,参考官方文档配置
-
perl Configure VC-WIN32
if you want 32-bit OpenSSL or -
perl Configure VC-WIN64A
if you want 64-bit OpenSSL or -
perl Configure VC-WIN64-ARM
if you want Windows on Arm (win-arm64) OpenSSL or -
perl Configure VC-WIN64-CLANGASM-ARM
if you want Windows on Arm (win-arm64) OpenSSL with assembly support using clang-cl as assembler or -
perl Configure VC-CLANG-WIN64-CLANGASM-ARM
if you want Windows on Arm (win-arm64) OpenSSL using clang-cl as both compiler and assembler or -
perl Configure VC-WIN32-HYBRIDCRT
if you want 32-bit OpenSSL dependent on the Universal CRT or -
perl Configure VC-WIN64A-HYBRIDCRT
if you want 64-bit OpenSSL dependent on the Universal CRT or -
perl Configure
to let Configure figure out the platform
特别注意:–prefix选项指定的安装路径必须是绝对路径,若不指定,则默认会安装在
C:\Program Files (x86)\
下面,如果你不是用管理员权限执行,则会出现*Permission Denied*
错误,切记。1
perl Configure VC-WIN32 --prefix=E:\OpenSSL # 将其安装到 E:\OpenSSL 目录
-
-
nmake
-
nmake test
-
namke install
0x05、使用
使用时,在工程引入文件和库文件添加 Openssl 安装目录即可。