秋·风

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

lazarus鸿蒙开发2:编译鸿蒙版本Qt5pas

注:引用了"极度"Qt5Pas.pro修改内容
1、修改lazarus\lcl\interfaces\qt5\cbindings\Qt5Pas.pro
在# end of file上一行加上以下参数:
# ==========================
# HarmonyOS 专用配置 开始
# ==========================
# 从环境变量读取,缺省用 x86_64
OHOS_ARCH = $$(OHOS_ARCH)
isEmpty(OHOS_ARCH) {
  OHOS_ARCH = x86_64
}
QMAKE_CXXFLAGS += --target=$${OHOS_ARCH}-linux-ohos
QMAKE_LFLAGS += --target=$${OHOS_ARCH}-linux-ohos

# sysroot 路径(注意路径分隔符用 /)
OHOS_SYSROOT = $$(NATIVE_OHOS_SDK)/sysroot
OHOS_LIBDIR  = $${OHOS_SYSROOT}/usr/lib/$${OHOS_ARCH}-linux-ohos
OHOS_INCDIR  = $${OHOS_SYSROOT}/usr/include/$${OHOS_ARCH}-linux-ohos

# sysroot - qmake 已经通过 spec 加了
INCLUDEPATH += $${OHOS_INCDIR}
LIBS += -L$${OHOS_LIBDIR}

# 必须链接的鸿蒙系统库
LIBS += -lEGL -lGLESv2 -lnative_window -lc -lm

# 指定架构
CONFIG += -ohos-arch $${OHOS_ARCH}
# ==========================
# HarmonyOS 专用配置 结束
# ==========================
}

# end of file

2、编译:
在lazarus\lcl\interfaces\qt5\cbindings执行:
注意:如果编译不同CPU的so:
需要关闭命令行,然后执行mingw32-make clean,再执行编译命令
示例是编译为x86_64:

SET NATIVE_OHOS_SDK=d:/fpc4ohos/sdk/default/openharmony/native
SET OHOS_ARCH=x86_64
set QT_OHOS_BIN=d:/oh/qt-5.12.12-ohos-x86_64/bin
set TOOLCHAIN=d:/fpc4ohos/sdk/default/openharmony/native/llvm/bin
set PATH=%QT_OHOS_BIN%;%TOOLCHAIN%;D:\oh\mingw64\bin;%PATH%
qmake.exe -o Makefile ..\cbindings\Qt5Pas.pro -spec ohos-clang "CONFIG+=qml_debug"
mingw32-make -j8

示例是编译为aarch64:

SET NATIVE_OHOS_SDK=d:/fpc4ohos/sdk/default/openharmony/native
SET OHOS_ARCH=arm64-v8a
set QT_OHOS_BIN=d:/oh/qt-5.12.12-ohos-aarch64/bin
set TOOLCHAIN=d:/fpc4ohos/sdk/default/openharmony/native/llvm/bin
set PATH=%QT_OHOS_BIN%;%TOOLCHAIN%;D:\oh\mingw64\bin;%PATH%
qmake.exe -o Makefile ..\cbindings\Qt5Pas.pro -spec ohos-clang "CONFIG+=qml_debug"
mingw32-make -j8      
编译生成的so:
QQ_1780458390479

  
posted on 2026-06-03 11:44  秋·风  阅读(51)  评论(0)    收藏  举报