欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-06 15:16:45
Qt安装软件包带有OpenSSL支持,但OpenSSL库不属于软件包的一部分。因此需要手动添加OpenSSL库文件。当开发环境为Android时,要么自己编译依赖的openSSL库(麻烦不想用),要么就直接调用官方给的库android_openssl...

Qt安装软件包带有OpenSSL支持,但OpenSSL库不属于软件包的一部分。因此需要手动添加OpenSSL库文件。否则程序会报错:

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

如果是在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 on Android SSL支持方法(解决无法连接网络报错qt.network.ssl: QSslSocket: cannot call unresolved function问题)

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

重新编译即可,搞定!畅享Qt在Android上的网络通信吧!如果GitHub下载速度慢的,可以在此处下载openssl包https://download.csdn.net/download/zjgo007/13105453,如果积分不够,留言你的邮箱,我有空时候发给你!

本文地址:https://blog.csdn.net/zjgo007/article/details/109628276