ninja: error: missing and no known rule to make itCmake thread
Deveco引入PaddleLite之后报错:
-
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
-
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-109" 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)
原因是CMakeLists.txt的ANDROID_ABI没有定义好,系统获取不了这个参数,所以这个值为空
-
set_target_properties(
-
# Specifies the target library.
-
paddle_light_api_shared
-
# Specifies the parameter you want to define.
-
PROPERTIES
-
IMPORTED_LOCATION
-
${PaddleLite_DIR}/cxx/libs/${ANDROID_ABI}/libpaddle_light_api_shared.so
-
# Provides the path to the library you want to import.
-
)
对于鸿蒙来说我暂时还不知道如何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
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
微信运动停用后别人还能看到步数吗
PHP中文网 07-22