HarmonyOS 鸿蒙Next Native C++ 添加新文件调用报错

HarmonyOS 鸿蒙Next Native C++ 添加新文件调用报错

如图,只要调用添加的c++就会报错


更多关于HarmonyOS 鸿蒙Next Native C++ 添加新文件调用报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

点这里看看详细的报错!

cke_347.png

更多关于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++ 添加新文件调用报错”的问题,可能的原因及解决方向如下:

  1. 头文件包含问题:确保新添加的文件已被正确包含在项目中,并且其头文件路径已在编译器的包含目录(Include Directories)中设置。检查 #include 指令的路径是否正确。

  2. 命名空间问题:如果新文件使用了命名空间,确保在调用该文件中函数或类时使用了正确的命名空间前缀。

  3. 链接问题:检查编译器的链接设置,确保新添加的源文件已被添加到编译列表中。同时,检查是否有静态库或动态库依赖未正确链接。

  4. 编译顺序问题:在某些情况下,文件的编译顺序可能影响链接结果。确保项目文件(如Makefile或CMakeLists.txt)中的编译顺序正确。

  5. 符号冲突:检查新添加的文件中是否有与现有文件同名的函数或变量,导致符号冲突。

  6. 宏定义冲突:确保没有宏定义导致编译错误或链接错误。

如果以上检查均无误,但问题依旧存在,请考虑查看编译器的错误和警告信息,以获得更具体的错误提示。如果问题依旧没法解决请联系官网客服,官网地址是 https://www.itying.com/category-93-b0.html

回到顶部