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

发布于:2025-06-29 ⋅ 阅读:(17) ⋅ 点赞:(0)

简介

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/


网站公告

今日签到

点亮在社区的每一天
去签到