lazarus鸿蒙开发2:编译鸿蒙版本Qt5pas
注:引用了"极度"Qt5Pas.pro修改内容
1、修改lazarus\lcl\interfaces\qt5\cbindings\Qt5Pas.pro
在# end of file上一行加上以下参数:
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:

浙公网安备 33010602011771号