HarmonyOS 鸿蒙Next如何复用C++代码编译成可使用的so动态链接库

发布于 1周前 作者 yuanlaile 来自 鸿蒙OS

HarmonyOS 鸿蒙Next如何复用C++代码编译成可使用的so动态链接库

有一套linux下的C++代码,如何编译成鸿蒙手机系统可以使用的so动态库。现在支持麒麟/鲲鹏 Arm架构,但是还是不兼容鸿蒙手机。  代码无法提供,希望给出编译命令、编译版本、编译环境等配置要求。  报错信息截图详见附件

编译构建子系统

2 回复
将c代码,添加到devEco中进行编译:
1、IDE创建工程Native C工程
2、cpp目录下添加c++业务代码
3、修改CMakeLists.txt, 将业务代码加入工程编译
4、添加napi适配层代码
参考指南:https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/napi/Readme-CN.md#/openharmony/docs/blob/master/zh-cn/application-dev/napi/neural-network-runtime-guidelines.md

要将C++代码编译成HarmonyOS可使用的so动态链接库,可遵循以下步骤:

  1. 准备开发环境:安装DevEco Studio和OpenHarmony SDK,并配置好环境变量。
  2. 创建Native C++项目:在DevEco Studio中新建HarmonyOS项目,选择Native C++模板,并确保项目中包含cpp目录和CMakeLists.txt文件。
  3. 编写C++代码:在cpp目录下添加业务代码,并确保代码符合HarmonyOS的C++规范。
  4. 配置CMakeLists.txt:编辑CMakeLists.txt文件,添加源文件并配置编译器选项、链接库等。
  5. 编译生成so文件:在DevEco Studio中点击“Build > Make Project”,编译C++代码并生成.so动态链接库。生成的.so文件通常位于app/build/intermediates/cmake/debug/obj/架构/目录下。
  6. 集成so文件:将编译好的.so文件放置在工程中的合适位置,并在需要调用该库的C++文件中使用dlopen等函数加载so库,并获取函数指针进行调用。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部