当前位置: 首页 > news >正文

不使用域名做网站深圳网络推广最新招聘

不使用域名做网站,深圳网络推广最新招聘,网站举报有奖平台,12355智慧团建我的环境是windows,QT6.3.2(msvc2019_64/mingw_64) 出错原因 QT没有正确加载OpenSSL。 解决过程 1、确保安装的有openssl。 文章结尾有个注意,是其他方式安装过openssl,环境变量有,但是QT找不到的问题。…

我的环境是windows,QT6.3.2(msvc2019_64/mingw_64)

出错原因

        QT没有正确加载OpenSSL。

解决过程

1、确保安装的有openssl。

  文章结尾有个注意,是其他方式安装过openssl,环境变量有,但是QT找不到的问题。

      在我这次使用的时候,没有单独去安装OpenSSL,因为我在QT的下面路径找到了需要的库。

                

        我不太确定这是我安装QT时特意选的,还是默认就有,反正如果没有,尽量到官网下载,因为结尾的注意会讨论这个事。

2、解决方法

方法一:

        把上述文件复制到你所使用版本QT的下面路径下:

        注意你使用的是mingw_64就往这复制,使用的msvc2019就往对应的文件夹复制

复制完应该就可以用了。

方法二:

        将上面找的的文件所在地址添加到环境变量

注意添加完,需要确定环境变量,然后重新启动QTcreator才能生效。

不要急,等一下下,不行再重启试试。

我下面是删掉环境变量的实验结果,(实验代码在下面),左边是打开马上运行的结果,他找到了!!!但是环境变量被我删了!!!不应该找到啊!!!

我差点以为写这么半天做了无用功,结果我看了一下他项目里用到的环境变量,并没有啊,然后我又运行了一下, 他又没找到,而且自己单开了一个输出页面,不理解。反正结果是对的。

验证是否成功

#include <QSslSocket>
#include <QDebug>int main() {qDebug() << "OpenSSL supported:" << QSslSocket::supportsSsl();qDebug() << "OpenSSL runtime version:" << QSslSocket::sslLibraryVersionString();return 0;
}

直接把上面这段放在main.cpp运行。

注意上述结果虽然写了个true,但是没成功调用OpenSSL,而是调用Channel。我这个true是因为写教程的时候环境改了又改,有点混乱了,如果没有使用什么办法的话,它可能显示false,不影响,反正后面显示的实际使用了Secure Channel, Windows。

Qt 默认优先使用 OpenSSL 来处理 HTTPS 请求。如果无法加载 OpenSSL 的动态库(libssl.dll 和 libcrypto.dll),Qt 会尝试使用其他可用的 TLS 后端(如 Windows 的 SChannel 或 macOS 的 SecureTransport)。

其实如果你不介意使用 Windows 的 SChannel 而不是 OpenSSL,并且程序运行正常,可以选择忽略这条警告信息。

我一开始就是不懂,看起来好像功能实现了,但是它在最开始报了这个警告。就是下面这样。

这就是使用SChannel实现了功能。

如果环境弄成功了,应该是下面的结果:

如果上面的方法没有成功,可能是OpenSSL版本问题,可能与QT不对应,自行百度下。

遇到的一个问题

注意:遇到另一个问题就是我最初发现我的电脑里有OpenSSL,并且添加了环境变量,但是无法使用。

在终端输入命令openssl version获得的openssl不一定可用

上述是我在我电脑里找到的,一开始以为有,能够用命令搜到其实应该是添加了环境变量,我一开始没反应过来,又手动添加了一次,发现不能用。根据文件夹名称可以看到,我是安装strawberry的时候带的,我其实都忘了这个strawberry拿来干啥的了。。。 

一开始以为是因为他是.exe执行文件所以不行,但是打开目录发现他有那两个动态库:

 而且都是x64的,注意这个也是个点,没有x64就代表是32位的,至于是不是所有版本QT都是用64位的,这需要自己去找了。

一开始我以为通过其他东西附带的这种方式下载的不全,用不了。

后面我思考了一下,应该是版本不行的问题。

真正要注意的来了:

想着送佛送到西,为了验证是不是版本问题,结果整出很多事。

结论:

        1、QTcreator里面找到的高版本就按前面说的来,就没问题,理论官网下的应该也没问题。

        2、重点是后面分析的strawberry问题,strawberry里的那2个库文件名字中带了2横杠,把strawberry里的2个文件的最后的2个横杠删掉复制到方法一的位置(例:F:\Qt\6.3.2\mingw_64\bin),注意strawberry文件里的文件名不变。或者是strawberry文件里那2个文件删掉2横杆,复制给方法一里面的不删。反正就是strawberry文件夹里和(例:F:\Qt\6.3.2\mingw_64\bin)里,一个带横杠一个不带,但必须2个都有,很怪,但确实是这样。反正这样弄完他确实是strawberry里面的版本。。。。。。要用这个方法的,就是电脑里其他什么东西下载过openssl的,建议选择在(例:F:\Qt\6.3.2\xxxx_64\bin)里面修改文件名,原路径不动,避免影响其他程序。还有试了这个复制文件的方法与环境变量无关。

         3、就是建议QT里面没有openssl库的,去官网重新下吧,虽然我无意找到了其他地方存在openssl库,然后能让QT使用的方法,但是会改文件名,不太清楚会对原本的程序有什么影响,所以我最后就没去动strawberry,还是使用的QT里面找到的版本。

下面是部分心路历程,本来是要写过程的,结果越来越匪夷所思,懒得写了。

上面不是提到我安strawberry里面顺带安装了openssl吗,但是不能用。我把他们复制到QT里去试一下,不用环境变量的方式。还好我为了严谨,把VC和GW文件夹都试一遍,VC复制完,运行不成功,结果复制到GW的时候我复制错地方,复制到QTcreator下面,就是找到能用open SSL动态库的地方,我一下警觉,他没有给我报重复文件的提示,我再想是不是之前被我剪切了,结果没有,然后我仔细对比了文件名,,,strawberry里的多了2个横杠,因为安装straw时他自己添加过环境,所以我把名字里的横杠去掉后,直接运行验证代码:

 到这以为成功了,结束了,结果才是诡异的开始,太复杂,懒得写了。。。

http://www.lryc.cn/news/616452.html

相关文章:

  • 哪里购买网站广告位seo优化专家
  • 连云港做网站建设四种营销模式
  • 前端怎么做电商网站百度广告开户流程
  • 订单查询网站怎么做怎么卸载windows优化大师
  • 淘宝客优惠券网站怎么做今日疫情最新消息
  • 湖南长沙网站建设公司seo网络营销外包
  • 河北网站建设seo优化制作设计google竞价推广
  • 青少年心理建设网站上海网站建设联系方式
  • 互联网网站有哪些网站seo好学吗
  • 嵌入式软件开发教程泰州seo网络公司
  • 如何做推广网站seo优化技术培训中心
  • seo竞价网站建设友情链接举例
  • 兰州做网站或小程序在线seo推广软件
  • 做阿里巴巴网站找谁手游推广去哪里找客源
  • 网站建设seo优化推广山东进一步优化
  • 本科专业建设网站google收录查询
  • 做pc端的网站首页尺寸是多少整站优化外包服务
  • 王野发动机怎么样win10优化大师
  • 做彩票的网站有哪些百度sem竞价推广电子书
  • 网站上传系统站长工具收录
  • 黄冈建设培训中心网站营销策划推广公司
  • 专业购物网站建设多少钱市场营销经典案例
  • 江苏宿迁最新疫情百度seo怎么提高排名
  • 服务器租用收费seo排名哪家公司好
  • 山西建设投资集团有限公司优化营商环境条例
  • 安宁网站建设 熊掌网站cms
  • 怎么做卖卷网站网络推广需要花多少钱
  • 泉州网站建设公司什么是淘宝搜索关键词
  • wordpress自定义htmlseo搜索优化专员招聘
  • NY155NY170美光固态闪存NY175NY184