Android NDK:断言失败:LOCAL_MAKEFILE未定义
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android NDK:断言失败:LOCAL_MAKEFILE未定义相关的知识,希望对你有一定的参考价值。
我正在尝试构建项目,并且在执行gradle任务进行构建时,收到以下错误:
~/Library/android/sdk/ndk/21.2.6472646/build/core/prebuilt-library.mk:20: *** Android NDK: Assertion failure: LOCAL_MAKEFILE is not defined . Stop.
我以前从未使用过NDK,所以不确定从哪里开始。
显然LOCAL_MAKEFILE
没有定义,但是我应该在哪里定义?
下面是预建库文件的第20行:
15
16 # this file is included from prebuilt-shared-library.mk or
17 # prebuilt-static-library.mk to declare prebuilt library binaries.
18 #
19
20 $(call assert-defined, LOCAL_BUILD_SCRIPT LOCAL_MAKEFILE LOCAL_PREBUILT_PREFIX LOCAL_PREBUILT_SUFFIX)
21
22 $(call check-defined-LOCAL_MODULE,$(LOCAL_BUILD_SCRIPT))
23 $(call check-LOCAL_MODULE,$(LOCAL_MAKEFILE))
24 $(call check-LOCAL_MODULE_FILENAME)
25
有人知道发生了什么吗?
欢迎大家的帮助!
谢谢你!
答案
要解决该问题,我需要删除所有NDK版本并仅使用19和20版本。
另一答案
我有同样的错误,这有所帮助:
在ndk / 21.2.6472646 / build / core / definitions.mk中更改行:
$(call ndk-stl-register,system)
to
$(call ndk-stl-register,system,cxx-stl/llvm-libc++)
编译后,放回所有内容
以上是关于Android NDK:断言失败:LOCAL_MAKEFILE未定义的主要内容,如果未能解决你的问题,请参考以下文章
Android NDK - 构建 TessTwo(Android 的 Tesseract 工具的分支) - ndk-build 失败
Android:NDK:超级打开失败:ENOENT(没有这样的文件或目录)错误
Android Studio 构建 NDK 项目非零退出值失败
由于 NDK 版本不兼容,Android 构建在 CI 中失败,但在本地不兼容
Android NDK:获取 java.lang.UnsatisfiedLinkError:dlopen 失败:找不到“libffmpeg.so”引用的符号“signal”