参考文章
参考文章中的windows编译为低版本,在高版本的openssl编译中已经没有:“ms\do_ms.bat”这个脚本了,现记录下编译过程
1、准备工作
- 安装
ActivePerl
,安装后会自动写入环境变量,参照参考文章测试安装成功与否; - 安装
nasm
,需要以管理员权限安装,安装后写入环境变量,默认安装目录为C:\Program Files\NASM
- 安装
visual studio 2022
(其他版本也可以) - 前往
openssl
官网下载openssl
源码,我下载的是openssl-3.0.12.tar.gz
2、编译openssl
windows编译比较麻烦,区分32位和64位Debug\Release;分别说明:
2.1 编译64位Release版本
-
打开vs2022的
x64 native tools command prompt for visual studio 2022
注意一定要打开64位的工具窗口,否则接下来编译会报错。 -
进入解压后的
openssl-3.0.12
源码目录执行以下命令perl Configure VC-WIN64A --release
,可能会提示没有安装dmake
按照提示ppm install dmake
安装即可。重新执行刚才的配置命令,配置成功如下图所示(图片为编译64位Debug
版本)
-
修改生成的
makefile
因为Release
版本要使用MT
代码生成方式,否则在链接使用生成库时会发生冲突,所以需要将生成的makefile
中的MD
修改为MT
如下图所示:
-
执行
nmake
命令等待编译完成(10分钟左右)会在源码目录下生成对应lib
文件和include
文件夹,也可执行nmake test
测试编译完整性。
2.2、编译64位Debug版本
解压源码,在x64 native tools command prompt for visual studio 2022
下进入源码目录执行以下命令:
perl Configure VC-WIN64A --debug
nmake
Debug
版本无需修改makefile
2.3、编译32位Release版本
同64位编译,打开x86 native tools command prompt for visual studio 2022
,进入源码执行以下命令:
perl Configure VC-WIN32 --release
nmake
在生成makefile
之后需要按照64位编译一样修改makefile
2.4、编译32位Debug版本
同64位编译,打开x86 native tools command prompt for visual studio 2022
,进入源码执行以下命令:
perl Configure VC-WIN32 --debug
nmake
Debug
版本无需修改makefile