android – 如何使“ndk-build clean”继续出错

android – 如何使“ndk-build clean”继续出错,第1张

概述我有一个包含多个项目的大型源代码树.其中一个项目使用JNI. 当我尝试在整个源代码树上“清理”时,它会通过并删除所有目标文件和库.然后它进入我的应用程序目录以进行清理. 当它到达我的JNI项目时,它执行“ndk-build clean”失败,因为我链接的库已被删除作为清理的一部分: ndk-build cleanAndroid NDK: ERROR:/Users/spartygw/xyz/src 我有一个包含多个项目的大型源代码树.其中一个项目使用JNI.

当我尝试在整个源代码树上“清理”时,它会通过并删除所有目标文件和库.然后它进入我的应用程序目录以进行清理.

当它到达我的JNI项目时,它执行“ndk-build clean”失败,因为我链接的库已被删除作为清理的一部分:

ndk-build cleanAndroID NDK: ERROR:/Users/spartygw/xyz/src/applications/foo/jni/AndroID.mk:bar: LOCAL_SRC_fileS points to a missing file    AndroID NDK: Check that /Users/spartygw/xyz/src/applications/foo/jni/../../../../lib/libbar.a exists or that its path is correct   /Users/spartygw/androID-ndk-r6b/build/core/prebuilt-library.mk:43: *** AndroID NDK: Aborting    .  Stop.make[3]: *** [clean_androID] Error 2make[2]: *** [clean] Error 2make[1]: *** [clean] Error 2make: *** [clean] Error 2

我已经尝试添加“ndk-build -k clean”和“ndk-build –ignore clean”,但无论如何都要挽救.

如何让ndk-build忽略对尚未构建的库的依赖,只清理本地对象?

解决方法 你的ndk-buID包含prebuit静态库,即使在干净的构建中也不应该消失.有一些非标准步骤构建libbar.a并将其复制到../../../../lib/.

如果你有充分的理由不直接从它建立的地方链接到libbar.a(… / obj / local / armeabi),那么你有两个选择:如果$(LOCAL_SRC_fileS)存在,则有条件地包括$(PREBUILT_STATIC_liBRARY),或者如果干净不是目标.

按照前一种方法的简单概述:

include $(CLEAR_VARS)LOCAL_MODulE = barLOCAL_PATH := ../../../../libLOCAL_SRC_fileS := libbar.aifneq (,$(wildcard $(LOCAL_PATH)/$(LOCAL_SRC_fileS)))  include $(PREBUILT_STATIC_liBRARY)endif
总结

以上是内存溢出为你收集整理的android – 如何使“ndk-build clean”继续出错全部内容,希望文章能够帮你解决android – 如何使“ndk-build clean”继续出错所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1129357.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存