• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

ninja: error: missing and no known rule to make itCmake thread

武飞扬头像
helwens
帮助1

Deveco引入PaddleLite之后报错:

  1.  
    ninja: error: 'D:/Harmony/YoloHM/entry/PaddleLite/cxx/libs/libpaddle_light_api_shared.so', needed by 'D:/Harmony/YoloHM/entry/build/intermediates/cmake/debug/obj/arm64-v8a/libNative.so', missing and no known rule to make it
  2.  
    Cmake thread
  3.  
    org.gradle.api.GradleException: native build cmake execute failed
  4.  
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  5.  
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
  6.  
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  7.  
        at com.huawei.ohos.build.utils.ProcessUtils.processWait(ProcessUtils.groovy:127)
  8.  
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  9.  
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  10.  
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  11.  
        at com.huawei.ohos.build.utils.ProcessUtils.execute(ProcessUtils.groovy:90)
  12.  
        at com.huawei.ohos.build.utils.ProcessUtils.execute(ProcessUtils.groovy)
  13.  
        at com.huawei.ohos.build.utils.ProcessUtils$execute$1.callCurrent(Unknown Source)
  14.  
        at com.huawei.ohos.build.utils.ProcessUtils.execute(ProcessUtils.groovy:63)
  15.  
        at com.huawei.ohos.build.utils.ProcessUtils$execute$0.callCurrent(Unknown Source)
  16.  
        at com.huawei.ohos.build.utils.ProcessUtils.execute(ProcessUtils.groovy:59)
  17.  
        at com.huawei.ohos.build.utils.ProcessUtils$execute.call(Unknown Source)
  18.  
        at com.huawei.ohos.build.dsl.CmakeThread.executeCmakeBuild(CmakeThread.groovy:106)
  19.  
        at com.huawei.ohos.build.dsl.CmakeThread.run(CmakeThread.groovy:57)
  20.  
    Exception in thread "Thread-109" org.gradle.api.GradleException: native build cmake execute failed
  21.  
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
  22.  
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
  23.  
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
  24.  
        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
  25.  
        at org.codehaus.groovy.reflection.CachedConstructor.invoke(CachedConstructor.java:72)
  26.  
        at org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor(ConstructorSite.java:105)
  27.  
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallConstructor(CallSiteArray.java:59)
  28.  
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:263)
  29.  
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callConstructor(AbstractCallSite.java:277)
  30.  
        at com.huawei.ohos.build.utils.ProcessUtils.processWait(ProcessUtils.groovy:127)
  31.  
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  32.  
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
  33.  
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
  34.  
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
  35.  
        at org.codehaus.groovy.runtime.callsite.PlainObjectMetaMethodSite.doInvoke(PlainObjectMetaMethodSite.java:43)
  36.  
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:193)
  37.  
        at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.callCurrent(PogoMetaMethodSite.java:61)
  38.  
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callCurrent(AbstractCallSite.java:203)
  39.  
        at com.huawei.ohos.build.utils.ProcessUtils.execute(ProcessUtils.groovy:90)
  40.  
        at com.huawei.ohos.build.utils.ProcessUtils.execute(ProcessUtils.groovy)
  41.  
        at com.huawei.ohos.build.utils.ProcessUtils$execute$1.callCurrent(Unknown Source)
  42.  
        at com.huawei.ohos.build.utils.ProcessUtils.execute(ProcessUtils.groovy:63)
  43.  
        at com.huawei.ohos.build.utils.ProcessUtils$execute$0.callCurrent(Unknown Source)
  44.  
        at com.huawei.ohos.build.utils.ProcessUtils.execute(ProcessUtils.groovy:59)
  45.  
        at com.huawei.ohos.build.utils.ProcessUtils$execute.call(Unknown Source)
  46.  
        at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
  47.  
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
  48.  
        at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:148)
  49.  
        at com.huawei.ohos.build.dsl.CmakeThread.executeCmakeBuild(CmakeThread.groovy:106)
  50.  
        at com.huawei.ohos.build.dsl.CmakeThread.run(CmakeThread.groovy:57)
学新通

原因是CMakeLists.txt的ANDROID_ABI没有定义好,系统获取不了这个参数,所以这个值为空

  1.  
    set_target_properties(
  2.  
      # Specifies the target library.
  3.  
      paddle_light_api_shared
  4.  
      # Specifies the parameter you want to define.
  5.  
      PROPERTIES
  6.  
        IMPORTED_LOCATION
  7.  
        ${PaddleLite_DIR}/cxx/libs/${ANDROID_ABI}/libpaddle_light_api_shared.so
  8.  
        # Provides the path to the library you want to import.
  9.  
    )

对于鸿蒙来说我暂时还不知道如何set这个参数

安卓定义${ANDROID_ABI}是用android.toolchain.cmake来定义的,
鸿蒙的我暂时还不知道如何写?解决方法直接把${ANDROID_ABI}替换成arm64-v8a

#添加一个库文件
#参数一:是库名主要用于System.loadLibrary()中填写的名字
#参数二:SHARED 表示动态链接库
#参数三:如果是
add_library(LibeName SHARED IMPORTED)
 
#指库添加动态链接库的库文件
#参数一:对应添加库的库名
#参数二:PROPERTIES表示导入
#参数三:IMPORTED_LOCATION 表示导入本地库
#参数四:库文件地址【出问题的就在这里】
set_target_properties(
        LibeName
        PROPERTIES
        IMPORTED_LOCATION
        ${CMAKE_CURRENT_SOURCE_DIR}/libs/${ANDROID_ABI}/libhpsocket.so
)

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhibacig
系列文章
更多 icon
同类精品
更多 icon
继续加载