HarmonyOS鸿蒙Next中遇到cpp代码无法高亮显示并且提示找不到libentry.so

HarmonyOS鸿蒙Next中遇到cpp代码无法高亮显示并且提示找不到libentry.so 纯 flutter 应用,想使用鸿蒙原生AVScreenCaptureScreenRecord录屏,录制的音频流pcm 数据通过 methodChannel 传递给 flutter 进行解析 asr 并保存处理,但是目前arkts 的 api 不支持 toStream,只有 c 的代码支持,把demo 的代码https://gitee.com/harmonyos_samples/avscreen-capture-screen-record 下载下来后放到项目里遇到cpp 代码无法高亮显示,并且提示找不到 libentry.so, 是什么原因


更多关于HarmonyOS鸿蒙Next中遇到cpp代码无法高亮显示并且提示找不到libentry.so的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

开发者您好,您这边是直接下载此代码:https://gitee.com/harmonyos_samples/avscreen-capture-screen-record 直接在IDE中运行报错嘛?还是说您这边引用了部分代码放到flutter项目中运行报错,这边直接下载此代码:https://gitee.com/harmonyos_samples/avscreen-capture-screen-record 是可以正常运行的,也没有报错,如果您这边引用了部分C++代码放到flutter项目中运行报错,麻烦您这边提供如下信息:

  1. 提供下完整能复现问题的最小demo吧

  2. 提供下报错截图信息嘛

更多关于HarmonyOS鸿蒙Next中遇到cpp代码无法高亮显示并且提示找不到libentry.so的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中,cpp代码无法高亮且提示找不到libentry.so,问题源于IDE未正确配置Native C++开发环境。需确认以下事项:确保DevEco Studio版本支持Native开发;检查项目模块的"build-profile.json5"中已声明"externalNativeOptions"配置;验证NDK路径设置正确;确认cpp文件位于"cpp"目录且CMakeLists.txt配置无误。libentry.so缺失通常因Native依赖未正确编译,需重新构建Native模块。

在HarmonyOS Next中遇到cpp代码无法高亮和libentry.so缺失的问题,通常由以下原因导致:

  1. C++支持未正确配置:确保在项目的build-profile.json5中已启用Native开发能力:

    "buildOption": {
      "externalNativeOptions": {
        "path": "./src/main/cpp/CMakeLists.txt",
        "arguments": "",
        "cppFlags": ""
      }
    }
    
  2. CMakeLists.txt配置问题:检查Native目录下的CMakeLists.txt是否正确定义了动态库输出:

    add_library(entry SHARED example.cpp) # 确保库名与调用名一致
    
  3. SO库生成路径错误:编译后生成的libentry.so应自动输出到/libs/{架构}/目录下。若缺失,需检查:

    • C++代码是否存在编译错误
    • CMake中是否正确定义了目标名称
    • 是否执行了完整的Rebuild Project
  4. 高亮问题处理

    • 确认IDE已安装C++插件
    • 检查文件后缀是否为.cpp/.h
    • 尝试右键点击cpp文件选择"Associate with C++"

建议同步检查设备架构匹配性,确保生成的SO库架构与运行设备一致。若问题持续,可验证CMake日志输出是否成功生成目标文件。

回到顶部