HarmonyOS 鸿蒙Next Native C++ 添加新文件调用报错
HarmonyOS 鸿蒙Next Native C++ 添加新文件调用报错
如图,只要调用添加的c++就会报错
更多关于HarmonyOS 鸿蒙Next Native C++ 添加新文件调用报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html
点这里看看详细的报错!
更多关于HarmonyOS 鸿蒙Next Native C++ 添加新文件调用报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
这里是报错部分
Build failed:
Executing tasks: [:entry:assembleDebug] in project C:\Users\24284\Desktop\hongmeng\MyApplication8
> Task :entry:preBuild
> Task :entry:mergeDebugJavaResource UP-TO-DATE
> Task :entry:compileDebugIdl NO-SOURCE
> Task :entry:preDebugBuild
> Task :entry:mergeDebugResources UP-TO-DATE
> Task :entry:mergeDebugProfile UP-TO-DATE
> Task :entry:processDebugProfile UP-TO-DATE
> Task :entry:compileDebugResources UP-TO-DATE
> Task :entry:compileDebugRFile UP-TO-DATE
> Task :entry:generateDebugBuildConfig UP-TO-DATE
> Task :entry:packageDebugRClass UP-TO-DATE
> Task :entry:compileDebugJavaWithJavac
> Task :entry:generateDebugJsManifest NO-SOURCE
> Task :entry:compileDebugEtsWithNode NO-SOURCE
> Task :entry:compileDebugJsWithNode NO-SOURCE
> Task :entry:processDebugJavaRes UP-TO-DATE
Cmake thread
org.gradle.api.GradleException: native build cmake execute failed
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at com.huawei.ohos.build.utils.ProcessUtils.processWait(ProcessUtils.groovy:127)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at com.huawei.ohos.build.utils.ProcessUtils.execute(ProcessUtils.groovy:90)
at com.huawei.ohos.build.utils.ProcessUtils.execute(ProcessUtils.groovy)
at com.huawei.ohos.build.utils.ProcessUtils$execute$1.callCurrent(Unknown Source)
at com.huawei.ohos.build.utils.ProcessUtils.execute(ProcessUtils.groovy:63)
at com.huawei.ohos.build.utils.ProcessUtils$execute$0.callCurrent(Unknown Source)
at com.huawei.ohos.build.utils.ProcessUtils.execute(ProcessUtils.groovy:59)
at com.huawei.ohos.build.utils.ProcessUtils$execute.call(Unknown Source)
at com.huawei.ohos.build.dsl.CmakeThread.executeCmakeBuild(CmakeThread.groovy:106)
at com.huawei.ohos.build.dsl.CmakeThread.run(CmakeThread.groovy:57)
Exception in thread "Thread-154" org.gradle.api.GradleException: native build cmake execute failed
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:72)
at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:263)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:277)
at com.huawei.ohos.build.utils.ProcessUtils.processWait(ProcessUtils.groovy:127)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:193)
at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:61)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:203)
at com.huawei.ohos.build.utils.ProcessUtils.execute(ProcessUtils.groovy:90)
at com.huawei.ohos.build.utils.ProcessUtils.execute(ProcessUtils.groovy)
at com.huawei.ohos.build.utils.ProcessUtils$execute$1.callCurrent(Unknown Source)
at com.huawei.ohos.build.utils.ProcessUtils.execute(ProcessUtils.groovy:63)
at com.huawei.ohos.build.utils.ProcessUtils$execute$0.callCurrent(Unknown Source)
at com.huawei.ohos.build.utils.ProcessUtils.execute(ProcessUtils.groovy:59)
at com.huawei.ohos.build.utils.ProcessUtils$execute.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:148)
at com.huawei.ohos.build.dsl.CmakeThread.executeCmakeBuild(CmakeThread.groovy:106)
at com.huawei.ohos.build.dsl.CmakeThread.run(CmakeThread.groovy:57)
> Task :entry:compileDebugNativeWithCmake FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':entry:compileDebugNativeWithCmake'.
> native build cmake execute failed
* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
* Get more help at https://help.gradle.org
Deprecated Gradle features were used in this build, making it incompatible with Gradle 8.0.
You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.
See https://docs.gradle.org/7.3/userguide/command_line_interface.html#sec:command_line_warnings
BUILD FAILED in 4s
13 actionable tasks: 4 executed, 9 up-to-date
针对帖子标题“HarmonyOS 鸿蒙Next Native C++ 添加新文件调用报错”的问题,可能的原因及解决方向如下:
-
头文件包含问题:确保新添加的文件已被正确包含在项目中,并且其头文件路径已在编译器的包含目录(Include Directories)中设置。检查
#include
指令的路径是否正确。 -
命名空间问题:如果新文件使用了命名空间,确保在调用该文件中函数或类时使用了正确的命名空间前缀。
-
链接问题:检查编译器的链接设置,确保新添加的源文件已被添加到编译列表中。同时,检查是否有静态库或动态库依赖未正确链接。
-
编译顺序问题:在某些情况下,文件的编译顺序可能影响链接结果。确保项目文件(如Makefile或CMakeLists.txt)中的编译顺序正确。
-
符号冲突:检查新添加的文件中是否有与现有文件同名的函数或变量,导致符号冲突。
-
宏定义冲突:确保没有宏定义导致编译错误或链接错误。
如果以上检查均无误,但问题依旧存在,请考虑查看编译器的错误和警告信息,以获得更具体的错误提示。如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html 。