今天看啥  ›  专栏  ›  喵喵叫的猴

Qt on Android SSL支持方法(解决无法连接网络报错qt.network.ssl: QSslSocket: cannot call unresolved function问题)

喵喵叫的猴  · CSDN  ·  · 2020-11-11 22:15

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 ,如果积分不够,留言你的邮箱,我有空时候发给你!




原文地址:访问原文地址
快照地址: 访问文章快照