Windwos +vs 2022 编译openssl 1.0.2 库

news2024/10/6 20:32:36

一 前言

先说 结论,编译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.coloradmin.cn/o/1857167.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

开放式耳机哪种好用又实用?开放式耳机必入品牌推荐,内行人分享

随着数码技术的不断推出各种各样的新产品&#xff0c;开放式耳机已经逐渐成为有份音乐发烧友的选择&#xff0c;这类耳机从早期的简单音质发展至今日的高解析度&#xff0c;其技术进步&#xff0c;也吸引了一大批开放式耳机的爱好者&#xff0c;开放式耳机以其开放式的设计&…

分布式光纤测温DTS如何与第三方数据对接?

分布式光纤测温DTS与第三方数据对接可以采用多种方式和接口。常见的接口包括RS485、RJ45网口、继电器接口和RS232接口等&#xff0c;而协议种类更是多达几十种之多。主流的协议包括modbusRTU、modbusTCP、点表协议、南网协议、电力json协议、IEC104和61850协议等。根据不同的需…

巧用SOLIDWORKS进行复杂曲面模型的实体建模

SOLIDWORKS正版软件有实体建模、曲面建模、钣金建模、焊件建模、模具建模等多种建模方式&#xff0c;每种建模方式都有独特的使用环境和场景&#xff0c;如果能灵活使用这些建模命令&#xff0c;就可以起到事半功倍的效果。 如上图所示的模型&#xff0c;通过观察和分析&#x…

【单调栈】1130. 叶值的最小代价生成树

1130. 叶值的最小代价生成树 难度&#xff1a;中等 力扣地址&#xff1a;https://leetcode.cn/problems/minimum-cost-tree-from-leaf-values/description/ 题目内容 给你一个正整数数组 arr&#xff0c;考虑所有满足以下条件的二叉树&#xff1a; 每个节点都有 0 个或是 2 个…

机器视觉光源丨CCS高显色LED光源方案实现精准色彩成像

机器视觉系统中&#xff0c;光源设计作为图像成像效果的关键&#xff0c;今天我们一起来看看自然光领域的光源方案&#xff0c;以CCS光源来说&#xff0c;高显色(自然光)LED光源&#xff0c;使用了实现接近基准光源(太阳光和白炽灯)的自然发光颜色。它主要用于辨色检测、测色检…

如何免费的去使用connectedpapers?

免费使用connectedpapers 1. 打开谷歌浏览器2. 按住ctrlshiftN,进入无痕模式3. 不需要登录&#xff08;也就是访客模式&#xff09;4. 两次用完&#xff0c;关闭无痕模式&#xff08;继续重复步骤 2 - 4&#xff09; 1. 打开谷歌浏览器 2. 按住ctrlshiftN,进入无痕模式 输入网…

软件工程全套学习培训资料,实际优质项目编制及各类建设方案,信息安全,运维资料

目的&#xff1a;规范系统开发流程&#xff0c;提高系统开发效率。 立项申请需求分析方案设计方案评审开发调整测试阶段系统培训试运行测试验收投入使用 所有文档过去进主页获取。 获取方式&#xff1a;本文末个人名片直接获取。 软件资料清单列表部分文档清单&#xff1a;工作…

centOS7网络配置_NAT模式设置

第一步&#xff1a;查看电脑网卡 nat模式对应本地网卡的VMnet 8 &#xff0c;查看对应的IP地址。 第二步&#xff1a;虚拟网络编辑器 打开VMWare&#xff0c;编辑--虚拟网络编辑器&#xff0c;整个都默认设置好了&#xff0c;只需要查看对应的DHCP设置中对应的IP的起始&#…

MySQL数据库(五):事务

MySQL数据库中的事务是一种用来保证一系列操作要么全部成功&#xff0c;要么全部取消的机制。想象一下你去超市购物&#xff0c;拿了很多商品&#xff0c;如果中途发现没带钱包&#xff0c;你可以放弃这次购买&#xff0c;所有商品会回到原位。通过事务&#xff0c;可以确保数据…

智能化改造助力企业高质量发展

引言 背景介绍 在当今全球经济环境中&#xff0c;变化和不确定性已成为常态。企业面临的竞争压力不断增加&#xff0c;市场竞争日益激烈。新兴市场的崛起、技术进步和消费者需求的快速变化&#xff0c;使得传统的商业模式和生产方式面临巨大挑战。为了在这样的环境中保持竞争力…

yarn:终极包管理器指南 - 提高您的项目效率和性能

Yarn使用教程大纲 一、介绍1.1 什么是Yarn1.2 Yarn的优势1.3 Yarn与npm的比较 二、安装Yarn2.1 Windows安装Yarn2.2 macOS安装Yarn2.3 Linux安装Yarn2.4 注意事项 三、初始化项目3.1 在项目中使用Yarn3.2 创建新项目3.3 在已有项目中使用Yarn 四、添加依赖4.1 添加依赖4.1.1 安…

【STM32+FPGA】先进算力+强安全+边缘AI,64位STM32MP2聚焦工业4.0应用

工业应用数字化和智能化程度&#xff0c;是衡量新质生产力的重要标准。STM32最新一代64位微处理器STM32MP2凭借先进算力、丰富接口和高安全性&#xff0c;为高性能和高度互联的工业4.0应用赋能。 STM32MP2四大关键特性&#xff0c;为工业4.0应用赋能 STM32MP2系列的第一颗产品S…

windows密码设置(windows10)

1. 在网络列表中点击“网络和Internet设置",显示页面如下&#xff1a; 2. 点击“主页”,显示页面如下&#xff1a; 3. 点击“账户”,显示页面如下&#xff1a; 3. 点击“账户”,显示页面如下&#xff1a; 在上图中选择“登录选项”&#xff0c;再选中“密码”&#xff0c…

“论SOA在企业集成架构设计中的应用”写作框架,系统架构设计师

论文真题 企业应用集成(Enterprise Application Integration, EAI)是每个企业都必须要面对的实际问题。面向服务的企业应用集成是一种基于面向服务体系结构(Service-OrientedArchitecture,SOA&#xff09;的新型企业应用集成技术&#xff0c;强调将企业和组织内部的资源和业务…

无线领夹麦克风怎么挑选,揭秘能让声音变好听的领夹麦!

在这个数字媒体迅速扩张的时代&#xff0c;直播带货和Vlog视频制作已经成为内容创作的新宠。自媒体视频内容的兴起&#xff0c;不仅改变了人们获取信息的方式&#xff0c;也推动了相关音频设备市场的繁荣。无线领夹麦克风&#xff0c;凭借其便于携带和使用方便的特点&#xff0…

讨论顺序表

讨论顺序表 C中的vector模拟实现成员变量尾插数据push_back扩容reserve 构造函数和析构函数拷贝构造函数指定位置插入数据指定位置删除数据迭代器失效完整代码 C中&#xff0c;vector是可以改变大小的数组的序列容器。可以看做底层就是一个数组&#xff0c;容量满时扩容。 C中的…

nacos的创建

nacos压缩包 链接&#xff1a;https://pan.baidu.com/s/1AYVKZvosDkcMMbTIB48Iew?pwd1234 提取码&#xff1a;1234 首先将下载好的nacos压缩包上传到linux环境中&#xff0c;然后解压缩&#xff08;解压缩命令&#xff09; tar -zxvf nacos-server-2.3.0.tar.gz解压成功后如…

【五】【QT开发应用】C++中lambda表达式,值捕获,引用捕获,隐式捕获,lambda表达式的返回类型

Lambda表达式 复盘 Lambda表达式 Lambda 表达式是 C11 引入的一种特性&#xff0c;用于定义匿名函数。它使得可以在代码中方便地定义和使用小段函数&#xff0c;而无需专门定义一个命名的函数。这在需要传递函数作为参数或者需要定义内联函数时非常有用。 基本语法 基本语法…

Python-矩阵元素定位

[题目描述] 小理得到了一个 n 行 m 列的矩阵&#xff0c;现在他想知道第 x 行第 y 列的值是多少&#xff0c;请你帮助他完成这个任务。输入格式&#xff1a; 第一行包含两个数 n 和m &#xff0c;表示这个矩阵包含 n行 m 列。从第 2 行到第 n1 行&#xff0c;每行输入 m 个整数…

告别繁琐代码,迈向编程新境界—Java集合与泛型全面解析

在Java编程的征途中&#xff0c;集合&#xff08;Collection&#xff09;与泛型&#xff08;Generics&#xff09;是两大里程碑式的特性&#xff0c;它们不仅极大地提升了代码的灵活性和安全性&#xff0c;还帮助开发者简化了数据结构的处理逻辑&#xff0c;让编程之旅变得更加…