前言
一般情况下,有很多第三方编译的openssl库,基本不需要自己,笔者本次记录下,使用msvc2019编译openssl,生成64位的库
一、准备环境
1.下载Perl
Strawberry Perl for Windows - Releases

2.下载NASM




3.安装vs2019
这个就不记录了,教程也很多
以上是笔者自己的版本,有需要的小伙伴,自己根据情况更换不同的版本就可以
二、下载源码


三、配置环境变量
将下载的nasm和perl解压到指定的目录,目录最好不要有空格和中文
打开vs2019的命令编译行

笔者是编译64位的,小伙伴根据需要选择,当然也可以直接打开cmd,自己手工配置环境变量
在打开的控制台中,修改环境变量,加入nasm和perl的位置
set path={nasm_dir}\nasm-2.16.01;{perl_dir}\strawberry-perl-5.32.1.1-64bit\perl\bin;%path%
四、编译
cd {openssl_dir}
#若在openssl源码根目录
perl Configure VC-WIN64A shared --prefix="{openssl_dir}/install"
nmake
#这步也可以不执行
nmake test
nmake install
编译过程比较简单,但记得,某些杀毒软件会影响正常编译,需要处理下
Configure 参数解释,
shared 表示要生成动态库
--prefix是编译完成后,要安装的库路径
若要区分debug或release,可以添加--debug或--release
若要生成静态库,可以添加-static,对应第二条命令修改如下
perl Configure VC-WIN64A -static --prefix="{openssl_dir}/install"
以笔者为例,编译静态库,openssl源码放在d:\\openssl3.3.2目录下,执行以下命令
cd d:\\openssl3.3.2
#若在openssl源码根目录
perl Configure VC-WIN64A -static --release --prefix="d:/openssl3.3.2/install"
nmake
#这步也可以不执行
nmake test
nmake install
已编译完成的openssl3.2.0动态库下载
已编译完成的openssl3.3.2静态库下载
已编译完成的openssl1.1.1w静态库下载
后记
笔者仅测试了64位的编译,未测试32位的,有需要的小伙伴可以自行测试下
笔者编译时,发现openssl3.3.2的动态库和静态库,是相同的名字,所以不能一次同时编译出动态库和静态库
本文详细描述了如何在Windows环境下,使用MSVC2019编译器和特定工具如Perl和NASM,为64位系统编译OpenSSL库的过程,包括环境配置、编译步骤和注意事项。
3292

被折叠的 条评论
为什么被折叠?



