【openssl】Window系统如何编译openssl

本文主要记录如何编译出windows版本的openss的lib库

如果需要获取RSA公钥私钥,推荐【openssl】 生成公钥私钥 |通过私钥获取公钥-CSDN博客

目录

1.下载openssl,获得openssl-master.zip。

2.下载Perl

3.下载NASM

4.配置perl和NASM的环境变量

5.进入编译正题:

至此:大侠已成功

6说明


1.下载openssl,获得openssl-master.zip。

a.可以通过github(网址在下方)上下载最新的代码、今天是2023.12.1我用的master版本,下载之后恭喜大侠获得《openssl-master.zip》

网址:https://github.com/openssl/openssl

b解压zip到自己的路径:F:\Windows\openssl-master

c.新建一个文件夹F:\Windows\openssl_Output

用于输出之后大侠最后编译的库(就是大侠最终想要的东西)

2.下载Perl

a.(编译工具)我没有去官网下载,要注册啥的很麻烦,小网站下载了一个能用的

点击下面链接直接下载

网址:https://djvniu.jb51.net/200906/tools/ActivePerl5_64.rar

3.下载NASM

a.点击下面链接直接下载

https://www.nasm.us/pub/nasm/releasebuilds/2.16.01/win64/nasm-2.16.01-installer-x64.exe

4.配置perl和NASM的环境变量

a.配置上面两个安装包的环境变量,具体环境变量怎么进入可参考

此电脑右键->属性->高级系统设置->环境变量->系统变量->Path编辑新建添加

b.添加完进行验证是否安装及配置成功

I.进入命令管理器cmd

II.分别输入nasm --version、perl --version,显示版本信息,

如果输出的不是内部或外部命令,也不是可运行的程序或批处理文件,应该是检查:第4步配置的perl.exe、nasm.exe路径是否正确配置环境变量未重启电脑

cpp 复制代码
nasm --version

5.进入编译正题:

如果以下编译出现错误,说明此文章编译方式未不同步源码库的编译方式。如何查看源码库的编译方式,请参考6.说明

a.以管理员身份启动(否则下面会报无权限问题)启动vs编译工具;查找Tools Command.根据想编译32位还是64位openssl选择X64、x86(32位选x86;64位选x64),我用的x64。

b.通过F:进入F盘符,通过cd命令进入你解压的源码库

c.进行

I.下面的VC-WIN64A是64位,如果想编译32位用VC-WIN32,F:\Windows\openssl_Output是输出路径

cpp 复制代码
perl Configure VC-WIN64A --prefix=F:\Windows\openssl_Output

II.安装

cpp 复制代码
nmake install

至此:大侠已成功

在Output下都是想要的

6说明

至于上述步骤5是编译是怎么来的。参考的源码库中的NOTES_WINDOWS.md,同目录下有unix的编译方式。

nmake test 可以不用运行,这是自动化测试代码是否有用

相关推荐
W23035765735 小时前
经典算法:最长上升子序列(LIS)深度解析 C++ 实现
开发语言·c++·算法
.Ashy.5 小时前
2026.4.11 蓝桥杯软件类C/C++ G组山东省赛 小记
c语言·c++·蓝桥杯
minji...5 小时前
Linux 线程同步与互斥(三) 生产者消费者模型,基于阻塞队列的生产者消费者模型的代码实现
linux·运维·服务器·开发语言·网络·c++·算法
CoderCodingNo8 小时前
【GESP】C++三级真题 luogu-B4499, [GESP202603 三级] 二进制回文串
数据结构·c++·算法
hetao17338379 小时前
2026-04-09~12 hetao1733837 的刷题记录
c++·算法
6Hzlia9 小时前
【Hot 100 刷题计划】 LeetCode 136. 只出现一次的数字 | C++ 哈希表&异或基础解法
c++·算法·leetcode
汉克老师9 小时前
GESP2024年6月认证C++三级( 第二部分判断题(1-10))
c++·数组·位运算·补码·gesp三级·gesp3级
无限进步_10 小时前
【C++】只出现一次的数字 II:位运算的三种解法深度解析
数据结构·c++·ide·windows·git·算法·leetcode
小贾要学习11 小时前
【Linux】TCP网络通信编程
linux·服务器·网络·c++·网络协议·tcp/ip
哎嗨人生公众号11 小时前
手写求导公式,让轨迹优化性能飞升,150ms变成9ms
开发语言·c++·算法·机器人·自动驾驶