Windows 下OpenSSL安装过程及错误解决办法

article/2025/8/4 15:30:09

Windows下使用OpenSSL有两种方式:
一.直接下载别人编译好的安装包:http://slproweb.com/products/Win32OpenSSL.html
二.自己编译安装:
1.下载并安装perl
http://www.activestate.com/activeperl/downloads/
2.安装与配置:
直接运行安装文件(例如:ActivePerl-5.16.3.1604-MSWin32-x86-298023.msi)即可完成安装;安装过程将自动完成环境变量的配置(安装完成之后,可以在系统环境变量里看到perl的bin目录(例如: C:\Program Files\perl\site\bin;)已经被加入进来),无需再手工配置;
3.测试安装是否成功:
进入perl安装目录的eg文件夹,执行“perl example.pl”若显示“Hello from ActivePerl!”,则说明Perl安装成功。如下图所示:
这里写图片描述
perl安装成功之后就可以开始使用Perl的相关命令来进行OpenSSL的安装了。
4.openssl可以自己下载源码编译也可以直接下载安装包安装完之后即可使用。
5.使用源码编译openssl
1) 下载openssl源码的路径:
http://www.openssl.org/source/
2)配置VS2012的环境变量(因为后面编译openssl时,将会用到vs2012自带的nmake工具)。
执行VS2012的bin目录下(例如:E:\Visuol Studio 2012\VC\bin)的vcvars32.bat文件即可完成配置,我的因为配置完了什么都不显示了。就不截图了。
3)配置openssl
以下是我在网上找到的配置OpenSSL的方法,这里我上链接吧:https://blog.csdn.net/houjixin/article/details/25806151

这里写图片描述
这里写图片描述
这里写图片描述

注意:

我按照他的方法进行操作,出现两种错误,
1.

tmp32dll\sha1-586.asm(1432) : error A2070:invalid instruction operands
tmp32dll\sha1-586.asm(1576) : error A2070:invalid instruction operands
NMAKE : fatal error U1077: “"E:\Visuol Studio 2012\VC\BIN\cl.EXE"”: 返回代码“0x1”

2.

tmp32dll\sha1-586.asm(1432) : error A2070:invalid instruction operands
tmp32dll\sha1-586.asm(1576) : error A2070:invalid instruction operandsN
MAKE : fatal error U1077: “"E:\Visuol Studio 2012\VC\BIN\cl.EXE"”: 返回代码“0x2”

废了九牛二虎之力才找到了解决的方法,
针对第一种错误的解决方法是:禁用汇编

perl Configure VC-WIN32 no-asm

第二种错误的解决方法为:这个在openssl官方网站上找到了,方法是禁用IPV6
可以参考:http://rt.openssl.org/Ticket/Display.html?id=2097&user=guest&pass=guest

perl Configure VC-WIN32 -DOPENSSL_USE_IPV6=0

最终我改成了:

perl Configure VC-WIN32 -DOPENSSL_USE_IPV6=0 no-asm

到这里很开心啊,刷刷的一直在编译,说明成功啦,duangduangduang,结果出现了:

  link /nologo /subsystem:console /opt:ref /debug /dll /out:out32dll\libeay32.dll /def:ms/LIBEAY32.def @C:\Users\ADMINI~1\AppData\Local\Temp\nmE10C.tmp正在创建库 out32dll\libeay32.lib 和对象 out32dll\libeay32.exp
cryptlib.obj : error LNK2019: 无法解析的外部符号 _OPENSSL_ia32_cpuid,该符号在函数 _OPENSSL_cpuid_setup 中被引用
cryptlib.obj : error LNK2001: 无法解析的外部符号 _OPENSSL_ia32cap_P
md5_dgst.obj : error LNK2019: 无法解析的外部符号 _md5_block_asm_data_order,该符号在函数 _MD5_Final 中被引用
sha1dgst.obj : error LNK2019: 无法解析的外部符号 _sha1_block_data_order,该符号在函数 _SHA1_Final 中被引用
sha256.obj : error LNK2019: 无法解析的外部符号 _sha256_block_data_order,该符号在函数 _SHA256_Final 中被引用
sha512.obj : error LNK2019: 无法解析的外部符号 _sha512_block_data_order,该符号在函数 _SHA512_Final 中被引用
out32dll\libeay32.dll : fatal error LNK1120: 6 个无法解析的外部命令
NMAKE : fatal error U1077: “"E:\Visuol Studio 2012\VC\BIN\link.EXE"”: 返回代码“0x460


这就很蛋疼啊,但是我还是没有放弃,这个问题我觉得不是很难解决。后来我在百度上找到了这样一篇文章:https://blog.csdn.net/mfcing/article/details/43059105,其实跟出现的这个错误并没有什么相关联的,但是我看到了一条这样的代码:

测试动态库:nmake -f ms\ntdll.mak test测试静态库:nmake -f ms\nt.mak test安装动态库:nmake -f ms\ntdll.mak install安装静态库:nmake -f ms\nt.mak install清除上次动态库的编译,以便重新编译:nmake -f ms\ntdll.mak clean清除上次静态库的编译,以便重新编译:nmake -f ms\nt.mak clean

我就在想是不是跟我之前编译过了一次有关系?于是我敲了:

nmake -f ms\ntdll.mak clean

再从头来了一遍

1.perl Configure VC-WIN32 -DOPENSSL_USE_IPV6=0 no-asm
2.ms\do_ms.bat
3.nmake -f ms\ntdll.mak

刷刷刷刷刷刷。。。。。。。。。。等了一分多钟,,,终于可以了!
这里写图片描述

我又执行了一下nmake -f ms\ntdll.mak test 测试了一下。

这里写图片描述

说明:本次测试在WIN10 64 VS2012 openssl-1.0.2o 版本测试成功,其他情况并不确保成功。如有问题,请联系博主。小弟尽量帮解决。


http://chatgpt.dhexx.cn/article/1UeVYgVm.shtml

相关文章

openssl安装与使用

1、OpenSSL简介 OpenSSL是一个SSL协议的开源实现,采用C语言作为开发语言,具备了跨平台的能力,支持Unix/Linux、Windows、Mac OS等多种平台。    OpenSSL最早的版本在1995年发布,1998年后开始由OpenSSL项目组维护和开发。当前最新…

windows 下openssl安装配置

一、下载 1、官网下载 /source/index.html(源码版) 2、网盘下载(windows版) 链接:https://pan.baidu.com/s/1JrM_Fg8uHt0O0HEN_w7coA 提取码:7777 3 、码客下载 OpenSSL官方下载 - 码客 …

Openssl安装教程

目录 1、安装相关依赖2、官网下载openssl版本3、编译openssl4、查看openssl版本 1、安装相关依赖 通过yum命令下载相关的依赖包gcc、libffi-devel、zlib*、openssl-devel,当然很多依赖包系统都应该有了; yum install gcc libffi-devel zlib* openssl-d…

降维分析之PCA分析及实现

引言 不知道大家还记不记得前面我们分享 支持向量机(SVM)的分析及python实现时说过,当数据遇到线性不可分时,我们可以利用kernel技巧将低维数据映射到高维数据上,从而使得数据线性可分,这是个“升维”操作。那么本章我…

[R语言] R语言PCA分析教程 Principal Component Methods in R

R语言PCA分析教程 Principal Component Methods in R(代码下载) 主成分分析Principal Component Methods(PCA)允许我们总结和可视化包含由多个相互关联的定量变量描述的个体/观察的数据集中的信息。每个变量都可以视为不同的维度。如果数据集中包含3个以…

R语言对表达谱样本做PCA分析

主成分分析(Principal component analysis, PCA)是一种数学算法,它可以在减少数据维度的同时,保留数据集中绝大多数的变量[1]。 PCA通过对主成分进行辨别,找出一个方向,并沿此方向分布的数据为最大值,从而减少数据维度。通过采用这样的主成分,便可以只选用若干变量而不…

SIMCA-P 11.5 使用教程 PCA分析 PLS-DA分析

软件:SIMCA-P 11.5 数据:一个公共生物数据,195个样本(1类样本48例,2类样本147例),22个特征 二维数据表,csv格式,第一行为类标,第一列为特征编号 1、读取数据文件 (1)"File" -> "New" -> 选择csv数据文件,跳转Text Import Wizard窗口…

GCTA PCA分析以及软件安装教程

软件介绍系列 1. GCTA介绍 在群体遗传中,GCTA中做PCA非常方便, 下面介绍一下GCTA的安装方法. 2. 安装命令 使用conda自动安装 conda install -c biobuilds gcta 手动安装 官方地址 说明文档 3. 安装成功测试 这里, 应该键入gcta64, 而不是gcta (base) [de…

PCA分析法的python主要代码

一 PCA分析法介绍 可以理解为是一种降维的思想,将M列数据降维成对应的N列数据,用主要的几个字段解释整体方差变异 也可以理解为一种低维度的映射,举例将三维的数据找到一个二维映射面,同时可以尽力解释出较多的信息来 举例如下图…

R统计绘图-PCA分析及绘制双坐标轴双序图

zhe 点击名片 关注我们 有师妹来咨询,怎样画类似于上图的双坐标轴PCA双序图。正好之前虽然PCA和RDA分析及绘图都写过教程,但是变量分析结果没有在图中显示,所以使用R统计绘图-环境因子相关性热图流程开始按图1整理环境因子数据,…

PCA分析(主成分分析)--结果解读

主成分分析(PCA)是一个很好的工具,可以用来降低特征空间的维数。PCA的显著优点是它能产生不相关的特征,并能提高模型的性能。 PCA用于减少用于训练模型的特征维度数量,它通过从多个特征构造所谓的主成分(P…

R统计绘图-PCA分析绘图及结果解读(误差线,多边形,双Y轴图、球形检验、KMO和变量筛选等)

虽然PCA和RDA分析及绘图都写过教程,但是对于结果的解释都没有写的很详细,刚好最近有人询问怎样使用FactoMineR factoextra包进行PCA分析。所以使用R统计绘图-环境因子相关性热图中的不同土壤环境因子数据进行PCA绘图和结果解读推文。 一、 数据准备 # 1.1 设置工作路径 #kn…

使用 QTLtools 进行 PCA 分析

3 使用 QTLtools 进行 PCA 分析 QTLtools 工具可以进行基因型的PCA分析,也可以进行表型的PCA分析,以下教程分别针对基因型和表型的PCA进行介绍: 3.1 对基因型进行PCA分析; 命令如下所示: QTLtools pca --vcf genot…

R语言中如何进行PCA分析?利用ggplot和prcomp绘制基因表达量分析图

学习笔记的主要内容是在R语言中利用ggplot2进行PCA分析和绘图,包括简单分析与操作流程,对比不同方式得到的结果差异,提供脚本代码供练习. PCA分析的原理 在处理基因差异表达数据时,有时候需要分析其中因素的影响最大,…

r语言dataellipse_R语言 PCA分析

PCA数据分析 PCA结果分析及可视化首推factoextra包,能处理各种R函数计算PCA的结果,有: stats::prcomp() FactoMiner::PCA() ade4::dudi.pca() ExPosition::epPCA() 如果我们想判断PCA中需要多少个主成分比较好,那么可以从主成分的…

样本数据PCA分析

PCA分析及画图 library(ggpubr) library(ggplot2) library(ggthemes) data1<-read.table(./100klist.txt,header 1)[,1:4] head(data1)BCD_rep1 BCD_rep2 CK_rep1 CK_rep2 1 0.1987 0.2036 0.1807 0.2062 2 0.2133 0.2169 0.2040 0.2140 3 0.1943 0.1965 …

转录组-PCA分析

PCA分析步骤&#xff1a; 第一步&#xff0c;对所有样本进行中心化 第二步&#xff0c;求特征协方差矩阵 第三步&#xff0c;求协方差矩阵的特征值和特征向量 第四步&#xff0c;将特征值按照从大到小的顺序排序&#xff0c;选择其中最大的k个&#xff0c;然后将其对应的k个特征…

PCA分析及CNS级别作图

从这节开始&#xff0c;就逐渐涉及转录组的基本可视化了&#xff0c;我们的可视化要做到CNS级别的图&#xff0c;争取做好分析&#xff0c;一步到位&#xff0c;让您有真正的收获&#xff01; PCA&#xff08;主成分分析&#xff09;&#xff0c;具体的原理就不说了&#xff0…

R语言PCA分析

常用R包&#xff1a;princomp&#xff0c;prcomp及rda R中输入数据类型有两类&#xff0c;R mode和Q mode。一般来说数据每一列为一个变量&#xff08;variable&#xff09;&#xff0c;每一行为一个数据&#xff08;observation&#xff09;。其中R mode的数据行数大于列数&a…

CSS3 媒体查询

1. 什么是媒体查询 CSS3媒体查询&#xff08;Media Query&#xff09;语法的特性&#xff1a; ①使用 media 查询&#xff0c;可以针对不同的媒体类型定义不同的样式&#xff1b; ②media 可以针对不同的屏幕尺寸设置不同的样式&#xff1b; ③当你重置浏览器大小的过程中&am…