实在是受不了,很多资源都不开放了,旧版本也没下载的地方,那就由我来吧!
我是写qt的时候发现有这个问题的接下来就一步步解决吧。
Qt现象说明
出现的问题:
qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed
解决办法
我们需要下载OpenSSL相关的版本进行安装然后将指定的文件复制到项目工程Debug下的的bin文件夹中。
首先我们要知道当前qt支持什么版本的OpenSSL。
在项目的代码中添加以下语句(位置无所谓只要能运行到这个位置就行):
qDebug()<<"QSslSocket="<<QSslSocket::sslLibraryBuildVersionString();
qDebug() << "OpenSSL支持情况:" << QSslSocket::supportsSsl();
运行程序。
这时候我们就能在【应用程序输出框看到版本信息】看到OpenSSL的支持版本!
我的版本是:OpenSSL 1.1.1g
注意:下载的版本一定要对的上,不然会出错!
下载对应的版本,现在网上的版本不好找了,尤其是旧版本,现在已经更新到3.3.0版本了。
如果你刚好和我是一个版本那恭喜你不用再去找了直接在网盘下载即可!
下载后我们双击安装
安装好之后,找到OpenSSL安装目录,找到这两个文件复制到工程Debug目录下的bin文件夹下。
清理构建然后重新运行即可结局
我们就发现问题已经解决了
注意事项
OpenSSL的版本已经要和qDebug打印出来版本一致!!!
我们这个版本是WIN64位的在使用Qt构建的时候一定也要选64位构建!!
OpenSSL 1.1.1g网盘链接
链接:https://pan.baidu.com/s/1GlTOErWAHCnhNrexjnmW5w?pwd=y6i7
提取码:y6i7