前言
以当前版本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、安装工具
修改环境变量,把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