Android Ndk错误没有规则使目标
Android Ndk Error No rule to make target
我正在尝试使用Ndk构建Android Cpp项目。
当我构建应用程序时,它只生成jni文件夹文件
无法生成jni子文件夹文件
我收到这个错误
make:***没有规则使目标src/main/jni/src/main/jni/A/B/Helper.cpp', needed by
构建/ndk/obj/local/armeabi/objs/demo/src/main/jni/A/B/Helper.o'.Stop。
TOP_LOCAL_PATH:=$(call my-dir)
LOCAL_PATH := $(TOP_LOCAL_PATH)
include $(CLEAR_VARS)
LOCAL_MODULE := demo
LOCAL_SRC_FILES := a.cpp b.cpp c.cpp d.cpp
LOCAL_SRC_FILES := $(LOCAL_PATH)/A/B/Helper.cpp
LOCAL_CFLAGS += -std=c++11 -frtti -fexceptions -fpermissive
LOCAL_LDLIBS += -llog -lGLESv2 -lEGL -landroid -lOpenSLES -lGLESv1_CM -lz
LOCAL_C_INCLUDES := $(LOCAL_PATH)/A/B
include $(BUILD_SHARED_LIBRARY)
在LOCAL_SRC_FILES
中列出的文件名是相对于LOCAL_PATH
。因此,您可以在多行上定义此列表,但可以通过附加列表而不是替换列表
因此,您的Android.mk文件可能看起来像这样:
TOP_LOCAL_PATH:=$(call my-dir)
LOCAL_PATH := $(TOP_LOCAL_PATH)
include $(CLEAR_VARS)
LOCAL_MODULE := demo
LOCAL_SRC_FILES := a.cpp b.cpp c.cpp d.cpp
LOCAL_SRC_FILES += A/B/Helper.cpp
LOCAL_CFLAGS += -std=c++11 -frtti -fexceptions -fpermissive
LOCAL_LDLIBS += -llog -lGLESv2 -lEGL -landroid -lOpenSLES -lGLESv1_CM -lz
LOCAL_C_INCLUDES := $(LOCAL_PATH)/A/B
include $(BUILD_SHARED_LIBRARY)
请注意,列表LOCAL_C_INCLUDES
应使用完整路径。
相关文章:
- 制作文件:没有规则来制定目标:如何设置正确的规则?
- antlr 规则上下文是否可以独立于目标
- C++ 如何将两个 makefile 对象目标规则(位于另一个文件夹中)合并到一个目标/规则中?
- 朋友声明的复杂范围界定规则有什么意义?
- Cassandra C++ MacOS High Sierra上的驱动程序:make:没有规则来制作目标
- 可变参数模板在目标文件中有重复的符号?
- 没有规则来设定目标'/usr/lib/x86_64-linux-gnu/libboost_filesystem.so'
- 目标提升::<library>已经有导入的位置 + 链接错误
- 是否有可能编写新的叮当声现代化规则?
- 没有规则来制作目标.o,为什么?
- 在 decltype(auto) 的情况下,lambda 是否有特殊规则?
- 在VC++中从DLLMAIN内部调用D3D的CREATEDEVICE时,它会创建一个死锁(loaderlock?)。有没有办法克服这个问题?最终目标内
- 制作:没有实现目标的规则 - 找不到源文件
- 没有要成为目标的规则:代码块
- 链接器命令 - 没有为第三方库设定目标的规则
- EclipseCDT:没有使目标全部成为目标的规则
- 没有制定目标的规则.所以
- C++生成文件错误:没有要设为目标的规则
- Qt创建者中的通用c++项目-没有使目标成为目标的规则
- OpenCv没有制定目标的规则