Qt 5.13.2 qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed
我遇到的问题是在QT5.7下Qt Creator可以的,但是装了Qt 5.13.2(5.14.0) 在Qt Creator下编译运行不行。
qDebug看下
qDebug() << QSslSocket::supportsSsl() << QSslSocket::sslLibraryBuildVersionString() << QSslSocket::sslLibraryVersionString();
看到这个说明OK
true "OpenSSL 1.1.1b 26 Feb 2019" "OpenSSL 1.1.1c 28 May 2019"
看到如下
false "OpenSSL 1.1.1b 26 Feb 2019"
您遇到问题和我一样,以下可能适合你
解决办法是根据自己的构建环境,把\Qt\Qt5.13.2\Tools\QtCreator\bin libssl-1_1.dll和libcrypto-1_1.dll两个文件 复制到 相应的\Qt\Qt5.13.2\5.13.2\mingw73_32\bin目录下,, 发布的时候注意要复制到可执行文件夹中。
那么问题又来了,64位的怎么办,办法是有的,
去网站https://slproweb.com/products/Win32OpenSSL.html
下载相应的版本,我下载的是如下版本Win64OpenSSL-1_1_1d.exe
https://slproweb.com/download/Win64OpenSSL-1_1_1d.exe
安装过程中选择库文件目录,我选择的安装到软件目录
最后捐助不要勾选任何就可以了
把\OpenSSL-Win64\bin libcrypto-1_1-x64.dll和libssl-1_1-x64.dlll两个文件 复制到 相应的\Qt\Qt5.13.2\5.13.2\mingw73_64\bin目录下
最后发布软件的时候,也需要把这两个文件复制到可执行文件同目录下。
附上已经打包好的文件,免安装了,解压使用,直接拿去使用吧。
参考:https://blog.csdn.net/lanxiaziyi/article/details/98760827
www.mamicode.com/info-detail-2895440.html