Jump to content

Building Qt6 for HarmonyOS zh

From Qt Wiki

English 中文

HarmonyOS SDK 版本要求

最低支持的 HarmonyOS SDK API 级别为 23(自 HarmonyOS 6.1.0 版本起)。

华为 DevEco Studio 安装

另请参见 Building Qt for HarmonyOS#HUAWEI DevEco Studio Installation 。

DevEco Studio 是原生集成开发环境(IDE),可在 Windows 和 macOS 上使用。

如果仅用于构建,你也可以尝试命令行工具(Command Line Tools),它支持 Windows、Linux 和 macOS。

附加软件包

Qt 6 依赖于许多第三方库,但 HarmonyOS SDK 未提供这些库。因此我们为你构建了一套 - ohos-additional-packages-20260415.zip

Google Drive: Google Drive

百度网盘: 百度网盘

sha1sum: fe3b77744659922977efd926b54a2534ff142f6a

这仅用于开发阶段。

关于如何构建附加软件包,请参见 vcpkg 构建指南 。

你可以将其放置在 ~/.local/opt/ohos/additional-packages 目录下。

如何获取 qt5 及其子模块的源代码

关于 gerrit 等工具的详细信息,请参见 Building Qt for HarmonyOS#Gerrit Introduction 。

$ cd ~/qt
$ git clone git://code.qt.io/qt/qt5.git
$ cd qt5
# 最新 qt5 6.12, https://codereview.qt-project.org/c/qt/qt5/+/746950
$ git reset --hard c7581743be5270fbf4343508123a0897487cca87
# 例如,我们只想尝试以下子模块
$ git submodule update --init --recursive qtbase qtsvg qtimageformats qtshadertools qtlanguageserver qtdeclarative

主机端构建 (Host Build)

目前以 macOS (Apple Silicon) 为例。

$ cd ~/qt
$ mkdir qt5-build
$ cd qt5-build
$ ../qt5/configure -release -developer-build -opensource -confirm-license -nomake examples -nomake tests -verbose -submodules qtbase,qtsvg,qtimageformats,qtshadertools,qtlanguageserver,qtdeclarative
$ cmake --build . --parallel -j14

目标端构建 (Target Build)

安装 DevEco Studio 后,SDK 应该位于 /Applications/DevEco-Studio.app/Contents/sdk/default/openharmony/ 路径下。

(注意:如果你使用的 DevEco Studio 版本不是用于 API 23 的 6.1.0 版本,最好从中拷贝一份 SDK。例如,你可以将 /Applications/DevEco-Studio.app/Contents/sdk/default/openharmony/ 文件夹复制到 ~/Library/OpenHarmony/Sdk/23 。)

$ cd ~/qt
$ mkdir qt5-harmonyos-build
$ cd qt5-harmonyos-build
$ ../qt5/configure -developer-build -nomake tests -debug -no-dbus -no-use-gold-linker -no-pch -openssl-runtime -ohos-sdk /Applications/DevEco-Studio.app/Contents/sdk/default/openharmony/ -qt-host-path ~/qt/qt5-build/qtbase -verbose -submodules qtbase,qtsvg,qtimageformats,qtshadertools,qtlanguageserver,qtdeclarative -- -DCMAKE_FIND_ROOT_PATH=~/.local/opt/ohos/additional-packages
$ cmake --build . --parallel -j14

构建 HarmonyOS 示例项目

$ cd ~/qt/qt5-harmonyos-build
$ mkdir qtbase-examples
$ cd qtbase-examples
$ ../qtbase/libexec/qt-internal-configure-examples ~/qt/qt5/qtbase
$ cmake --build . --parallel -j14 --target gallery
$ cd examples/widgets/gallery
$ ~/qt/qt5-build/qtbase/bin/harmonydeployqt --verbose --hvigor /Applications/DevEco-Studio.app/Contents/tools/hvigor/bin/hvigorw --input ./gallery-harmony-deployment-settings.json
$ cd libgallery-harmonyos
$ pwd

使用 DevEco Studio 打开上述项目,进行签名、构建并运行。

Happy Hacking!