Qt on Android SSL支持方法(解决无法连接网络报错qt.network.ssl: QSslSocket: cannot call unresolved function问题)
Qt安装软件包带有OpenSSL支持,但OpenSSL库不属于软件包的一部分。因此需要手动添加OpenSSL库文件。否则程序会报错:
如果是在WIN环境下开发,解决办法可参照我的博客:https://blog.csdn.net/zjgo007/article/details/105521365
当开发环境为Android时,要么自己编译依赖的openSSL库(麻烦不想用),要么就直接调用官方给的库android_openssl(下载链接:https://github.com/KDAB/android_openssl/archive/master.zip)
Android OpenSSL对Qt的支持
适用于Android的OpenSSL脚本和二进制文件(适用于Qt Android应用)
在此存储库中,您可以找到适用于Android的预构建OpenSSL库和
.pri
可与Qt项目集成使用的qmake include项目文件。以下目录可用
Qt-5.12.3
:用于Qt 5.12.3及以下版本。Qt-5.12.4_5.13.0
:它具有OpenSSL 1.1.x,只能与Qt 5.12.4和5.13.0一起使用。请注意,在Android 5(API 21)上,这些库名与使用OpenSSL 1.0的系统SSL库冲突,这意味着您的Qt应用程序将无法使用OpenSSL 1.1,因为操作系统已经在使用系统。latest
:用于Qt 5.12.5+和5.13.1+。
下载后将openssl库压缩包解压到自己的工程的运行目录中,在工程的.pro文件中添加库依赖就行,官方已经把依赖库配置好写在.pri中,我们仅仅需要把.pri路径文件添加进来即可!例如:我的工程名称为HaiMaAndroid,将android_openssl库解压到该工程目录下,.pro文件中添加语句:android: include(./android_openssl-master/openssl.pri)
重新编译即可,搞定!畅享Qt在Android上的网络通信吧!如果GitHub下载速度慢的,可以在此处下载openssl包https://download.csdn.net/download/zjgo007/13105453,如果积分不够,留言你的邮箱,我有空时候发给你!
本文地址:https://blog.csdn.net/zjgo007/article/details/109628276
上一篇: 茶叶蛋最多可以放几天