HarmonyOS鸿蒙Next中救命!ERROR: Failed :entry:default@BuildNativeWithNinja...

HarmonyOS鸿蒙Next中救命!ERROR: Failed :entry:default@BuildNativeWithNinja

hvigor ERROR: Failed :entry:default@BuildNativeWithNinja
hvigor ERROR: Exceptions happened while executing C:\Huawei\DevEco Studio\sdk\default\openharmony\native\build-tools\cmake\bin\ninja.exe -C D:\App\zhere_rn_HarmonyOS\harmony\entry.cxx\default\default\debug\arm64-v8a.

ninja: Entering directory `D:\App\zhere_rn_HarmonyOS\harmony\entry.cxx\default\default\debug\arm64-v8a’

[0/2] Re-checking globbed directories…


更多关于HarmonyOS鸿蒙Next中救命!ERROR: Failed :entry:default@BuildNativeWithNinja...的实战教程也可以访问 https://www.itying.com/category-93-b0.html

6 回复

问题解决了,去掉entry/src/main/cpp/CMakeLists.txt 中的set(CMAKE_OBJECT_PATH_MAX 274)

更多关于HarmonyOS鸿蒙Next中救命!ERROR: Failed :entry:default@BuildNativeWithNinja...的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


大佬!我用6.0.1.260版本的IDE新建了一个Native C++工程,重新构建项目也报这个错误,但是CMakeLists.txt里面没找到你说的这个set(CMAKE_OBJECT_PATH_MAX 274),

我清理了项目就跑不起来了,这是什么原因?

CMakeLists.txt里面导入的so文件是不是省略后缀了,这样清理后可能出现此问题,

该错误通常由以下原因导致:

  1. 编译环境配置问题,如Node.js、Hvigor或SDK版本不匹配。
  2. Native依赖(C++/ArkTS)代码存在语法或链接错误。
  3. 项目配置文件(如build-profile.json)中Native模块路径或参数错误。
  4. 系统资源不足(内存/磁盘空间)导致编译中断。

检查Native代码规范性,确认环境配置符合官方要求。

这个错误通常是由于Native编译环境配置问题或项目文件损坏导致的。可以按以下步骤排查:

  1. 清理构建缓存

    • 删除项目目录下的 build.cxxoh_modules 文件夹。
    • 在DevEco Studio中执行 Build → Clean ProjectFile → Invalidate Caches / Restart
  2. 检查NDK和CMake配置

    • 确认 local.propertiesopenharmony.native.sdk.dir 路径指向正确的SDK位置(通常为 DevEco Studio安装路径/sdk/default/openharmony/native)。
    • 检查 build-profile.json5native 相关配置是否完整,特别是 abiFilterscppFlags
  3. 验证C++代码和CMakeLists.txt

    • 检查 src/main/cpp 下的C++代码是否有语法错误。
    • 确认 CMakeLists.txtadd_library 引用的源文件路径正确,且文件名无拼写错误。
  4. 检查系统环境

    • 确保系统PATH环境变量未包含冲突的CMake或Ninja版本。
    • 如果使用Windows系统,确认项目路径无中文字符或特殊符号。
  5. 重新配置项目

    • 备份 src/main/cpp 代码后,删除 entry 模块并重新创建Native C++模板项目,再将代码复制回新项目。
  6. 查看详细日志

    • D:\App\zhere_rn_HarmonyOS\harmony\entry\.cxx\default\default\debug\arm64-v8a 路径下查找 ninja.logcmake_build_command.txt,其中可能包含具体错误行号。

多数情况下,执行第1步清理缓存后重新构建即可解决。如果问题持续,请检查第3步的C++代码规范性。

回到顶部