配置Qt开发环境与开发
配置Qt开发环境
1)解压OpenHarmony-5.0.0-release\Qt.zip到之前建的D:\OpenHarmony\Qt目录下:
2)新建项目,选择Native C++:
3)选择之前的D:\OpenHarmony\Project目录存放,新建项目名称为QtProject,module名称为entry,点击finish:
4)新建项目等待初始化完成:
5)导入adapter_ts,修改adapter_ts相关内容。导入模块:
6)选择adapter_ts, 点击确认,弹出窗口再次确认窗口,点击是:
7)修改QtProject/entry/oh-package.json5文件,添加dependencies: “adapter_ts”: “file:../adapter_ts”:
8)修改QtProject/entry/build-profile.json5配置loongarch64和Qt环境。Qt环境配置在argruments参数中,abiFilters指定loongarch64:
9)替换JS接口文件,将D:\OpenHarmony\Qt\Qt5.15.12\loongarch64-linux-ohos\openharmony\qtbase目录下的文件替换到D:\OpenHarmony\Project\QtProject\entry\src\main\ets目录中:
10)配置SDK版本:QtProject\build-profile.json5中配置compileSdkVersion和compatibleSdkVersion版本为12,修改runtimeOS为OpenHarmony,点击右上角Sync Now,同步配置,点击yes,等待同步完成:
11)导入pcid:将OpenHarmony-5.0.0-release\pcid.sc拷贝到D:\OpenHarmony\目录下:
12)在DevEco Studio界面下,双击shift,打开全局搜索,搜索“导入产品兼容性ID”,Module select选择All:
13)ID导入sc文件,取消勾选SystemCapability.Base,点击OK:
14)编译项目:在顶部标题栏选择构建 => 编译Hap => 编译Hap(s):
编译完成后,hap包在D:\OpenHarmony\Project\QtProject\entry\build\default\outputs\default目录下。
编写Qt项目
参考如下链接:
1)修改txt:
D:\OpenHarmony\Project\QtProject\ entry \src\main\cpp\CMakeLists.txt中需要在find_package(Qt5 REQUIRED COMPONENTS Core Widgets Gui)前添加:list(APPEND CMAKE_FIND_ROOT_PATH ${QT_PREFIX})
2)修改加载的Qt程序:
修改QtProject\entry\src\main\ets\native\目录下的JsApplication.ts文件,将加载的Qt程序修改为cpp端生成的库文件,如下图所示:
如果新建项目时module时entry,这里就是libentry.so;
如果新建项目时module时qtmodule,这里就是libqtmodule.so。
3)拷贝依赖:
因为Qt框架中采用了插件机制,除了拷贝依赖库到.hap包,还需要将运行时依赖的相关插件拷贝到.hap包中,在qtproject\entry\libs\目录下新建loongarch64目录,和配置Qt开发环境中argruments的abiFilter设置相同,如下图所示:
拷贝基础的依赖插件(libplugins_platforms_qopenharmony.so)到loonarch64目录中,拷贝后,再次执行开发环境中【修改项目配置】及【导入产品兼容性ID】步骤。编译后,生成.hap包中已包含依赖的插件,如下图所示:(注:libplugins_platforms_qopenharmony.so插件是必要的基础插件)libplugins_platforms_qopenharmony.so在D:\OpenHarmony\Qt\Qt5.15.12\loongarch64-linux-ohos\plugins\platforms\目录下。