我尝试在此答案的帮助下在 Android.mk 中使用通配符
https://stackoverflow.com/a/8459242/1039175
但是得到和错误:

make: 没有规则可以制作目标 jni/jni/abyss_engine.c', needed by obj/local/armeabi/objs-debug/AbyssEngine/jni/abyss_engine.o' - 这个错误意味着没有找到源文件,这是很自然的,因为 jni 文件夹中没有 jni 子文件夹

路径中的额外 jni 在哪里,为什么?我的源文件只在 jni 文件夹中,没有任何子文件夹,如何解决?

我的安卓.mk

LOCAL_PATH := $(调用我的目录)
包括 $(CLEAR_VARS)
LOCAL_MODULE := 深渊引擎
LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/*.c) ( abyss_engine.c asset_manager.c jni_bridge.c shader_manager.c input_manager.c 工作正常 )
LOCAL_LDLIBS := -llog -lGLESv2
LOCAL_CFLAGS := -Werror
包括 $(BUILD_SHARED_LIBRARY)

最佳答案

感谢来自 android-ndk 组的 a1

LOCAL_SRC_FILES=$(notdir $(wildcard $(LOCAL_PATH)/*.c))

http://groups.google.com/group/android-ndk/browse_thread/thread/9d4251e0900a31e6/4b792fc207e454c2#4b792fc207e454c2 - 他的回复中有更多有用的信息

关于Android.mk 在路径中通配额外的 'jni'?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9456762/

10-13 07:10