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
问题解决了,去掉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文件是不是省略后缀了,这样清理后可能出现此问题,
该错误通常由以下原因导致:
- 编译环境配置问题,如Node.js、Hvigor或SDK版本不匹配。
- Native依赖(C++/ArkTS)代码存在语法或链接错误。
- 项目配置文件(如build-profile.json)中Native模块路径或参数错误。
- 系统资源不足(内存/磁盘空间)导致编译中断。
检查Native代码规范性,确认环境配置符合官方要求。
这个错误通常是由于Native编译环境配置问题或项目文件损坏导致的。可以按以下步骤排查:
-
清理构建缓存:
- 删除项目目录下的
build、.cxx、oh_modules文件夹。 - 在DevEco Studio中执行
Build → Clean Project和File → Invalidate Caches / Restart。
- 删除项目目录下的
-
检查NDK和CMake配置:
- 确认
local.properties中openharmony.native.sdk.dir路径指向正确的SDK位置(通常为DevEco Studio安装路径/sdk/default/openharmony/native)。 - 检查
build-profile.json5中native相关配置是否完整,特别是abiFilters和cppFlags。
- 确认
-
验证C++代码和CMakeLists.txt:
- 检查
src/main/cpp下的C++代码是否有语法错误。 - 确认
CMakeLists.txt中add_library引用的源文件路径正确,且文件名无拼写错误。
- 检查
-
检查系统环境:
- 确保系统PATH环境变量未包含冲突的CMake或Ninja版本。
- 如果使用Windows系统,确认项目路径无中文字符或特殊符号。
-
重新配置项目:
- 备份
src/main/cpp代码后,删除entry模块并重新创建Native C++模板项目,再将代码复制回新项目。
- 备份
-
查看详细日志:
- 在
D:\App\zhere_rn_HarmonyOS\harmony\entry\.cxx\default\default\debug\arm64-v8a路径下查找ninja.log或cmake_build_command.txt,其中可能包含具体错误行号。
- 在
多数情况下,执行第1步清理缓存后重新构建即可解决。如果问题持续,请检查第3步的C++代码规范性。

