【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 可以不用运行,这是自动化测试代码是否有用

相关推荐
小飞猪Jay33 分钟前
C++面试速通宝典——13
jvm·c++·面试
rjszcb2 小时前
一文说完c++全部基础知识,IO流(二)
c++
小字节,大梦想2 小时前
【C++】二叉搜索树
数据结构·c++
吾名招财2 小时前
yolov5-7.0模型DNN加载函数及参数详解(重要)
c++·人工智能·yolo·dnn
我是哈哈hh3 小时前
专题十_穷举vs暴搜vs深搜vs回溯vs剪枝_二叉树的深度优先搜索_算法专题详细总结
服务器·数据结构·c++·算法·机器学习·深度优先·剪枝
憧憬成为原神糕手3 小时前
c++_ 多态
开发语言·c++
郭二哈3 小时前
C++——模板进阶、继承
java·服务器·c++
挥剑决浮云 -3 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记
丶Darling.3 小时前
LeetCode Hot100 | Day1 | 二叉树:二叉树的直径
数据结构·c++·学习·算法·leetcode·二叉树
labuladuo5204 小时前
Codeforces Round 977 (Div. 2) C2 Adjust The Presentation (Hard Version)(思维,set)
数据结构·c++·算法