我尝试在这个答案的帮助下在Android.mk中使用wilcards
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文件夹中没有任何子文件夹,如何解决?
我的Android.mk
LOCAL_PATH:= $(致电my-dir)
包括$(CLEAR_VARS)
LOCAL_MODULE:= AbyssEngine
LOCAL_SRC_FILES:= $(通配符$(LOCAL_PATH)/ * .c)
( abyss_engine.c asset_manager.c jni_bridge.c shader_manager.c input_manager.c正常)
LOCAL_LDLIBS:= --llog -lGLESv2
LOCAL_CFLAGS:= - 错误
包括$(BUILD_SHARED_LIBRARY)
答案 0 :(得分:4)
所有感谢来自android-ndk群组的 a1
LOCAL_SRC_FILES=$(notdir $(wildcard $(LOCAL_PATH)/*.c))
http://groups.google.com/group/android-ndk/browse_thread/thread/9d4251e0900a31e6/4b792fc207e454c2#4b792fc207e454c2 - 他的回复中有更多有用的信息
答案 1 :(得分:0)
我使用外部工具来编译文件,我在项目中遇到了这个问题。
我更改了工作目录路径,问题解决了。
步骤1: 设置 - >工具 - >外部工具 - > NDK - >我的构建 - >工作目录
步骤2:
我的旧工作目录路径为:$ModuleFileDir$\src\main
我将其更改为:$ModuleFileDir$\src\main\jni
它对我来说非常好!