如果是Windows,下载地址及安装方法参考:
https://www.cnblogs.com/qq702368956/p/13363586.html?utm_source=tuicool
(注:一开始放到bin目录下是可以的,后来Qt中加载地图时还是提示qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed,可以直接将那两个库放到工程生成的exe下)
如果是Ubuntu,按照下面步骤安装
0.安装文件链接
链接:https://pan.baidu.com/s/1B2I1So4fD6g5uSR_i_J83g
提取码:0000
1.是否含有openssl库验证
包含QSslSocket头文件
使用 qDebug() << "OpenSSL支持情况:" << QSslSocket::supportsSsl();进行验证,没有检测到会输出false。
2.支持版本
qDebug()<<QSslSocket::sslLibraryBuildVersionString();
我使用Qt5.14测试,输出如下:
3.下载
如果是ubuntu,在这个网址(https://www.openssl.org/source/),下载1.1.1版本
4.安装
在压缩包路径下打开终端,输入下面命令移动至/usr/local/路径下
sudo mv openssl-1.1.1h.tar.gz /usr/local/
进入/usr/local路径,在此打开终端,进行解压
sudo tar xvzf openssl-1.1.1h.tar.gz
进入解压后的文件夹,依次执行
sudo ./config
sudo make
sudo make install
5.测试
查看版本:
openssl version
输出版本信息,则证明安装成功。
如果加载地图仍然提示qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization failed,尝试将/usr/local/openssl-1.1.1h文件夹下的libcrypto.a与libssl.a复制到工程生成的可执行文件夹下。
6.可能出现的问题
我首先安装了1.1.0版本,是2016年的,在Qt中加载地图依然提示错误,于是下载1.1.1版本,按照上述步骤进行安装,最后查看版本的时候,提示openssl:error while loading shared libraries:libssl.so.1.1,参考下面文章,进行解决。
openssl: error while loading shared libraries: libssl.so.1.1