OpenSSL在Windows编译

前言

以当前版本3.0.5为例,下载源码:https://github.com/openssl/openssl/releases/tag/openssl-3.0.5

习惯性的打开CMake界面,点击Configure,立即提示“CMake Error: The source directory "D:/SoftwareDev/openssl-openssl-3.0.5" does not appear to contain CMakeLists.txt.”。WTF……

老老实实地找教程……虽然源码下就有安装说明文档:INSTALL.md

1、安装工具

分别下载安装PerlNASM

修改环境变量,把nasm.exe所在位置加入Path

2、配置

管理员权限运行cmd,进入OpenSSL源码目录:

cd D:/SoftwareDev/openssl-openssl-3.0.5

使用perl生成makefile文件,命令参数:perl Configure { VC-WIN32 | VC-WIN64A | VC-WIN64I | VC-CE } --prefix=%OUTPATH%

例如:

perl Configure VC-WIN64A --prefix=D:\SoftwareDev\openssl-openssl-3.0.5\install

成功的话会显示OpenSSL has been successfully configured字样。

3、编译

先将Visual Studio环境批处理文件执行一下(在开始菜单中可以查找到具体位置,例如“x64 Native Tools Command Prompt for VS 2022”),注意包含双引号:

"C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Auxiliary\Build\vcvars64.bat"

然后执行:

nmake install

顺利的话,最后会在D:\SoftwareDev\openssl-openssl-3.0.5\install下存放相关文件。

遇到的错误

aes-x86_64.asm: assertion cv8_state.source_files != NULL failed at output/codeview.c

由于配置错误,执行了多次nmake install,导致配置正确的清空下提示“aes-x86_64.asm: assertion cv8_state.source_files != NULL failed at output/codeview.c“。

解决方法是执行:

nmake clean

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注