qt qsslsocket linux,Qt-network.ssl QSslSocket:TLS初始化失败等等问题

在使用QML的时候运行程序的时候遇到了好几次类似以下问题:

qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed

qt.network.ssl: QSslSocket: cannot resolve DTLSv1_2_server_method

qt.network.ssl: QSslSocket: cannot resolve DTLSv1_2_client_method

qt.network.ssl: QSslSocket: cannot resolve SSL_CONF_CTX_new

qt.network.ssl: QSslSocket: cannot resolve SSL_CONF_CTX_free

qt.network.ssl: QSslSocket: cannot resolve SSL_CONF_CTX_set_ssl_ctx

qt.network.ssl: QSslSocket: cannot resolve SSL_CONF_CTX_set_flags

qt.network.ssl: QSslSocket: cannot resolve SSL_CONF_CTX_finish

qt.network.ssl: QSslSocket: cannot resolve SSL_CONF_cmd

qt.network.ssl: QSslSocket: cannot resolve SSL_set_alpn_protos

qt.network.ssl: QSslSocket: cannot resolve SSL_CTX_set_alpn_select_cb

qt.network.ssl: QSslSocket: cannot resolve SSL_get0_alpn_selected

qt.network.ssl: QSslSocket: cannot resolve DTLS_server_method

qt.network.ssl: QSslSocket: cannot resolve DTLS_client_method

qt.network.ssl: QSslSocket: cannot call unresolved function DTLS_client_method

————————————————————————————————————————————————

重点来了:最后总结了一下大概可以从以下方法解决:

1、对于Qt mingw版本用户来说

一般在:

C:\Qt\Qt 5.xx.x\Tools\mingw730_32\opt\bin(32位)

或者:

C:\Qt\Qt 5.xx.x\Tools\mingw730_32\opt\bin(64位)

目录(以实际安装路径为准)可以找到  libeay32.dll ssleay32.dll 两个文件

1)复制这两个文件到Qt工程生成可执行文件的目录(即exe文件同目录下)中去,再次运行,错误消失

2)复制这两个文件到C:\Qt\Qt 5.xx.x\Qt 5.xx.x\mingwxxx_xx\bin的目录下,再次运行,错误消失

上方式一般对于mingw版本来说基本可以解决

2、对于Qt MSVC版本用户来说

A、可以随便一个Qt C++工程中打印出openssl版本信息

#include

qDebug()<<:ssllibrarybuildversionstring>

5.12.3版本为例,执行打印出  OpenSSL 1.1.1b 26 Feb 2019

B、根据相应版本去下载OpenSSL的二进制文件,当然也可以选择自己编译,只不过有点麻烦

我下载的是Win64 OpenSSL v1.1.1d Light,完了之后安装

C、安装好后在安装目录找到libcrypto-1_1-x64.dll libssl-1_1-x64.dll两个文件 ,然后粘贴到

C:\Qt\Qt5.13.0\5.13.0\msvc2017_64\bin目录再次运行,错误消失,完美解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值