下载openssl源码包
到openssl官网的下载页面openssl官网下载页面
我这次编译最新的openssl-3.0.5版本。
下载好源码包后解压,我解压的路径为:E:\项目\网络\openssl-3.0.5
使用Microsoft Visual C compiler编译
安装了Visual Studio就行了,我的是VS2022
编译前需要准备的工具:
- Strawberry Perl,下载路径http://strawberryperl.com/
- Netwide Assembler (NASM),下载路径https://www.nasm.us
开始编译
- 安装Perl
- 安装NASM
- 确保Perl和NASM的exe路径被包含在环境变量PATH中,我这边 安装完NASM后,需要将NASM的安装路径加入到环境变量PATH中,安装时没有自动添加进去。
- 下面一步比较关键,首先我们要确定我们需要的64位的openssl库还是32位的openssl库,如果我们需要的是64位的,我们需要以管理员权限打开64位的Visual Studio开发人员命令提示符(Visual Studio Developer Command Prompt),这里选择错误的话,会编译错误。
比如我最开始使用的是默认的Visual Studio开发人员命令提示符,它是32位的,最后编译报错:
模块计算机类型“x86”与目标计算机类型“x64”冲突
这里我们需要以管理员权限打开x64 Native Tools Command prompt. 进入到E:\项目\网络\openssl-3.0.5路径
如果要编译32位的库,就以管理员权限打开x86 Native Tools Command prompt,
5. 执行命令:
perl Configure VC-WIN64A
如果要编译32位的库上述命令改为:
perl Configure VC-WIN32
6.执行nmake,此步骤会编译一段时间,在生成openssl的库
7.执行nmake test,生成用于测试的openssl可执行文件
8.执行nmake install 安装openssl