Windwos +vs 2022 编译openssl 1.0.2 库

一 前言

先说 结论,编译64位报错,查了一圈没找到解决方案,最后换了32位的。

使用qt访问web接口,因为是https,没有openssl库会报错

    QNetworkReply* reply = qobject_cast<QNetworkReply*>(sender());
    if (reply)
    {
        if (reply->error() == QNetworkReply::NoError)
        {
            // 处理成功响应
            QByteArray responseData = reply->readAll();
            // 处理responseData
            ui->textEdit->append("data:" + QString::fromUtf8(responseData) + "\n");
        }
        else
        {
            // 处理错误响应
            qDebug() << "Request Error: " << reply->errorString();
            ui->textEdit->append("error:" + mReply->errorString());
        }
        reply->deleteLater();
    }

错误就是 error:Error creating SSL context ()
说明需要openssl
使用下面代码查看qt需要的库

QSslSocket::sslLibraryBuildVersionString()

ui->textEdit->append("lib v:" + QSslSocket::sslLibraryBuildVersionString());

如图
在这里插入图片描述

二准备工具

1、安装 perl
http://strawberryperl.com/download/5.28.1.1/strawberry-perl-5.28.1.1-64bit.msi
2、下载 openssl 1.0.2u
链接
3、 安装 NASM

测试命令

perl  -v
nasm --v

出错就用everything ,查找 nasm.exe 和 perl .exe的文件位置添加到用户环境变量中

三 开始编译

cmd 管理员进入 C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\bin(vs 版本不一样,可能路径不同) 运行 vcvars32.bat
在openssl代码下载后,解压,自己建一个文件夹作为输出,比如bin
cmd 窗口切换到代码路径下
挨个执行命令就行,注意改成自己的代码路径

perl Configure VC-WIN32 no-asm --prefix=D:\ssl\openssl-1.0.2u\openssl-1.0.2u\bin
 
ms\do_nasm
 
nmake -f ms\ntdll.mak 
 
nmake -f ms\ntdll.mak test 
 
nmake -f ms\ntdll.mak install 
 
nmake -f ms\ntdll.mak clean

期间可能会出现 ** fatal error U1077: “rc”: 返回代码“0x1”** 之类的错误,网上查的解决方案是,解决方法是查找 rc.exe ,用everything 查找最新的 rc.exe,加到环境变量里。原理没懂,反正解决了

四结果文件

就在bin目录下(自己建的输出目录)
在这里插入图片描述

五参考文章

解决rc,上方说的错误
虽然时间较久,参考意义比较大

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/754404.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vivo 互联网自研代码评审 VCR 落地实践

作者&#xff1a;vivo 互联网效能平台团队- Chi Wei 本文介绍了vivo工程效能团队基于 Gitlab、Gerrit等开源工具搭建的VCR平台&#xff0c;代码评审idea插件开发及开发过程中遇到的挑战、困难&#xff0c;并分享了相应的应对策略和优化方案。 代码评审是软件质量保证一种活动&…

5年成为10亿级大单品,海天如何策划黄豆酱的极致产品力?

在当今的调味品市场中&#xff0c;酱料作为一个重要的细分品类&#xff0c;正迅速成为消费者日常饮食中不可或缺的一部分。随着人们对烹饪品质和口味多样化的追求不断提升&#xff0c;酱料市场的前景愈发广阔。而在这片广阔的市场中&#xff0c;海天味业&#xff0c;作为中国调…

ElasticSearch-Windows系统ElasticSearch(ES)的下载及安装

前言 下载ElasticSearch 可以进入ElasticSearch官方下载地址&#xff0c;选择与电脑系统相对应的版本&#xff1b;博主已经上传资源&#xff0c;或者点此直接免费下载&#xff0c;本次演示版本为8.14.1。 注意&#xff1a; Elasticsearch 5 需要 Java 8 以上版本&#xff1b;…

Excel 宏录制与VBA编程 ——VBA编程技巧篇一 (Union方法、Resize方法、Cells方法、UseSelect方法、With用法)

Uniom方法 使用Union方法可以将多个非连续区域连接起来成为一个区域&#xff0c;从而可以实现对多个非连续区域一起进行操作。 Resize方法 使用Range对象的Resize属性调整指定区域的大小&#xff0c;并返回调整大小后的单元格区域。 Cells方法 Cells属性返回一个Range对象。 Us…

基于Java的大学生租房系统

你好呀&#xff0c;我是计算机学姐码农小野&#xff01;如果有相关需求&#xff0c;可以私信联系我。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;SpringBoot框架&#xff0c;MVC模式 工具&#xff1a;Vscode&#xff0c;MySQL&#xff0c;B/S架构…

计算机网络之OSI七层体系结构

目录 1.物理层 1.1物理层组成 1.2物理层功能 1.3物理层服务 1.4物理层标准 1.5物理层接口 2.数据链路层 2.1基于物理层的问题 2.2数据链路层功能 2.3数据链路层服务 2.4数据链路层协议 3.网络层 3.1基于DL层的问题 3.2网络层功能 3.3网络层服务 3.4网络层协议 …

根据肥胖类型选择减调方向收获窈窕身材

我们生活中胖子很多&#xff0c;从胖到瘦的人也不少&#xff0c;但瘦了后对自己身材满意的人却是不多的&#xff0c;很多人瘦了也只是减掉了身上的赘肉而已&#xff0c;大体的身形却是没有变化的&#xff0c;因此&#xff0c;并不感到满意。因为他们本身的形体是固定的&#xf…

拼多多面试总结

文章目录 一面自我介绍提问算法反问结果 二面提问算法反问结果 主管面主管面试准备算法题其他个人提问准备 提问数据库普通索引和覆盖索引的区别索引是什么&#xff1f;索引怎么加快数据库查询的&#xff1f;索引具体怎么实现的&#xff1f;以B树为例&#xff0c;节点放了什么&…

java生成excel,uniapp微信小程序接收excel并打开

java引包&#xff0c;引的是apache.poi <dependency><groupId>org.apache.poi</groupId><artifactId>poi-ooxml</artifactId><version>5.2.3</version></dependency> 写一个测试类&#xff0c;把excel输出到指定路径 public s…

leetcode494. 目标和

1.思想方法 2.代码 class Solution { public int findTargetSumWays(int[] nums, int target) {int sum 0;for(int num : nums)sum num;if(sum < Math.abs(target) || (targetsum)%2 ! 0)return 0;int x (targetsum) / 2,n nums.length;//基于滚动数组的方法int[] dp…

JavaWeb-day28_HTML

今日内容 零、 复习昨日 一、HTML 零、 复习昨日 一、Web开发 前端三大件 HTML ,页面展现CSS , 样式JS (JavaScript) , 动起来 二、HTML 2.1 HTML概念 ​ 网页&#xff0c;是网站中的一个页面&#xff0c;通常是网页是构成网站的基本元素&#xff0c;是承载各种网站应用的平台…

MySQL高级-SQL优化- count 优化 - 尽量使用count(*)

文章目录 1、count 优化2、count的几种用法3、count(*)4、count(id)5、count(profession)6、count(null)7、 count(1) 1、count 优化 MyISAM引擎把一个表的总行数存在了磁盘上&#xff0c;因此执行count&#xff08;*&#xff09;的时候会直接返回这个数&#xff0c;效率很高&a…

阿里云nginx更新证书后依旧显示旧证书

尝试的解决办法 重启nginx服务删除服务器上的旧证书清除浏览器缓存检查是否使用CDN服务 最后的解决办法 云服务器开启了WAF服务&#xff0c;在WAF服务中配置证书

MySQL学习(5):SQL语句之数据查询语言:DQL

1.DQL语法 select 字段列表 from 表名列表 #DQL是可以进行多表查询的 where 条件列表 group by 分组字段列表 having 分组后条件列表 order by 排序字段列表 limit 分页参数 2.基本查询&#xff08;select&#xff09; 2.1查询多字段 select 字段1,字段2,字段3,......fro…

重要通知:据最新TEMU要求所有欧区车灯都需要能效标签(eu energy lable)

重要通知&#xff1a; 据最新TEMU要求&#xff0c;所有“欧区车灯”都需要能效标签&#xff08;eu energy lable&#xff09;&#xff0c;目前已下架欧区站点&#xff0c;上传成功后可恢复。 灯具类欧盟EU ENERGY LABEL 近日有不少欧洲站卖家收到TEMU平台商品要求卖家们发布的…

SHELL脚本学习(十二)sed进阶

一、多行命令 概述 sed 编辑器的基础命令都是对一行文本进行操作。如果要处理的数据分布在多行中&#xff0c;sed基础命令是没办法处理的。 幸运的是&#xff0c;sed编辑器的设计人员已经考虑了这个问题的解决方案。sed编辑器提供了3个处理多行文本的特殊命令。 命令描述N加…

大数据学习之分布式数据采集系统Flume学习

分布式数据采集系统Flume学习 一、Flume架构 1.1 Hadoop业务开发流程 1.2 Flume概述 flume是一个分布式、可靠、和高可用的海量日志采集、聚合和传输的系统。 支持在日志系统中定制各类数据发送方&#xff0c;用于收集数据; 同时&#xff0c;Flume提供对数据进行简单处理&…

如何在720漫游中设置付费观看?

1. 进入720漫游作品编辑器&#xff0c;点击 「全局设置-营销设置-付费观看设置」 即可打开付费观看设置栏&#xff1b; 720漫游编辑器-全局设置 2. 开启付费观看功能后&#xff0c;设置「付费金额」&#xff0c;选择「付费场景」即可 720漫游编辑器-全局设置-付费观看设置 3.…

CentOS 生命周期结束指南

2019 年 9 月&#xff0c;Red Hat 宣布打算废止 CentOS&#xff0c;并将其替换为 CentOS Stream。 CentOS 7 和 8 是 CentOS Linux 的最终版本。CentOS 7 和 8 的生命周期结束日期为&#xff1a; CentOS 8 - 2021 年 12 月 31 日 CentOS 7 - 2024 年 6 月 30 日 相关内容推荐 点…

【人工智能学习之图像操作(三)】

【人工智能学习之图像操作&#xff08;三&#xff09;】 图像滤波滤波概念卷积平滑算子均值滤波高斯滤波中值滤波双边滤波锐化算子USM锐化梯度算子 傅里叶变换直方图直方图直方图均衡化自适应均衡化2D 直方图直方图反向投影 图像滤波 滤波概念 滤波过程就是把不需要的信号频率…