当前位置: 首页 > news >正文

Qt for OpenHarmony 编译鸿蒙调用的动态库

简介

Qt for Harmony​ 是跨平台开发框架 ​Qt​ 与华为 ​OpenHarmony​ 操作系统的深度集成方案,由 Qt Group 与华为联合推动。其核心目标是为开发者提供一套高效工具链,实现 ​​“一次开发,多端部署”​,加速 OpenHarmony 生态的应用迁移与创新。

本文主要实现在Windows端使用Harmony NDK在Qt Creator中编译生成Qt for OpenHarmony调用的动态库。

资源下载

在编译之前需要先下载相关的工具包然后进行环境配置。

1.Qt SDK

Qt Wiki官网文档中介绍可以获取Qt for OpenHarmony的源码,然后编译源码生成SDK,但是构建过程比较麻烦,感兴趣的可以自己去按照步骤操作一遍,地址在这里。

此外,openharmony-sig项目中提供了SDK包,供使用者下载,发布包中只提供了Windows平台下的SDK,直接下载现成的,可以省去编译步骤。目前发布的最新版是:Qt For OpenHarmony Alpha v6版本
在这里插入图片描述
我这边下载的是 alpha_v6 Qt5.15.12 OpenHamrony arm64-v8a二进制包
在这里插入图片描述
下载后可以看到,该版本名称是 Qt5.15.12_alpha_v6_arm64-v8a_openharmony_ndk_4.1.7.8_community_win,这是基于鸿蒙OS v4.1.7版本,Qt版本是Qt5.15.12

解压待用。

2. DevEco Studio安装

DevEco Studio是华为推出的集成开发环境(IDE),专为HarmonyOS应用开发设计。支持HarmonyOS多设备、多语言开发,提供丰富的工具链和模板,帮助开发者高效构建全场景应用。
安装DevEco Studio主要是为了方便下载不同版本的鸿蒙SDK,下载DevEco Studio会默认自带一个sdk,需要选择一个自己想要的版本。
下载地址在这里
在这里插入图片描述
下载安装后,在文件->设置,打开设置页面:
在这里插入图片描述
然后点击OpenHarmony SDK页面
在这里插入图片描述
上一步中我们下载的Qt SDK对应的OpenHarmony 版本是4.1.7,所以这里我们需要下载对应的鸿蒙SDK版本,需要注意的是,选择OpenHarmony SDK保存的位置一定不能带有空格,否则后面的配置编译将会出问题。

3.Qt安装

这里建议安装Qt6以上的版本,我本机安装的是Qt6.8.2,Qt需要在线下载安装,下载地址
在这里插入图片描述
下载后选择对应的Qt版本进行安装即可。安装Qt的时候注意要选择安装工具 mingw,编译的时候需要用到,这部分就不再赘述。
在这里插入图片描述

4.Cmake安装

在上一步安装Qt的时候可以同时选择安装工具Cmake,当然也可以自行下载Cmake进行安装, 安装完后记得设置环境变量。下载地址

环境配置

以上相关步骤准备好后,接下来是最重要的环境配置,在 Qt Creator 中为 OpenHarmony 创建开发工具包。

打开Qt Creator,点击 编辑->首选项
在这里插入图片描述

配置Qt版本

手动添加Qt版本,这里选择上一步中下载的Qt SDK的路径中的qmake
在这里插入图片描述

配置编译器

前面步骤中下载的鸿蒙SDK的路径中包含有C 和C++ 的编译器,点击“添加”,选择设置相应的路径,如下:
在这里插入图片描述

配置构建套件

切换到“构建套件页面”,点击添加,配置相应的选项,如下:
在这里插入图片描述

环境变量

转到编辑→首选项→环境→系统,然后单击环境部分中的Change…按钮,添加鸿蒙SDK的环境变量。
在这里插入图片描述

以上配置,踩过很多坑,按照Qt Wiki文章中的方法进行配置除了很多问题,可能是因为版本不同导致的吧,有些配置项跟Qt Wiki文章中介绍的不一样,不信邪的可以自行去操作一遍。

开始编译

准备好一切过后,接下来就可以正式开始编译了。
创建一个简单的Qt工程,选择编译方式选择qmake,然后选择我们配置的OHOS Clang套件进行编译:
在这里插入图片描述
编译完成便可得到一个.so动态库文件。
接下来就可以在鸿蒙工程中调用这个动态库文件使用了。

关于如何在DevEco Studio中创建鸿蒙项目并调用动态库的问题,后续再更新~
也可以直接参考Qt Wiki的文章介绍,继续进行。
在这里插入图片描述

参考文章

https://gitee.com/openharmony
https://wiki.qt.io/Qt_for_OpenHarmony/zh
https://gitee.com/openharmony-sig/qt/wikis/

相关文章:

  • WPF中MVVM和MVVMLight模式
  • 卷积运算的历史
  • Gateway路径匹配规则易错点
  • Recent Advances in Speech Language Models: A Survey
  • JVM调优详解(二)
  • AI大模型之机器学习理论及实践:监督学习-机器学习的核心基石
  • 北斗导航深度接入小程序打车:高精度定位如何解决定位漂移难题?
  • 数据结构day1
  • HTML基础结构
  • AWS ACM 重磅上线:公有 SSL/TLS 证书现可导出,突破 AWS 边界! (突出新功能的重要性和突破性)
  • [Hestia]开源网络服务器控制面板,快速、可靠、开源
  • 【计算复杂度】普通卷积 VS 深度可分离卷积
  • 深入解析AIGC:技术原理、应用场景与未来挑战
  • 【附源码】考试报名系统设计与实现+SpringBoot + Vue (前后端分离)
  • 多智能体协同的力量:赋能AI安全报告系统的智能设计之道
  • 运行go程序时出现的同包多文件不能调用的问题
  • Python datetime模块详解
  • 【GNSS定位算法】Chapter.2 导航定位算法软件学习——Ginav(二)SPP算法 [2025年6月]
  • Neo4j.5.X社区版创建数据库和切换数据库
  • 最近小峰一直在忙国际化项目,确实有点分身乏术... [特殊字符] 不过! 我正紧锣密鼓准备一系列干货文章/深度解析
  • 杭州营销型网站建设/seo资讯
  • 山东省住房和城乡建设部网站首页/网站建站哪家公司好
  • 手机移动端网站怎么做/如何制作网站教程
  • 昆山公司网站建设/西安网站seo优化公司
  • 一个网站怎么上线/曲靖百度推广
  • 快速做网站的技术/seo 最新