2014-09-10 87 views
2

我有一些問題。Android.mk目標'* .c'沒有規則,'* .o'需要。停止

我使用ndk-build,但是我無法創建庫* .so。

---------------------------------錯誤------------ ---------------------

[email protected] /work/workspace/HealthCare $ ndk-build 
make: *** No rule to make target `jni/jni/src/filterData.c', needed by 
`obj/local/armeabi/objs/HealthCare/jni/src/filterData.o'. Stop. 

根據我的Android.mk源,幫我請

------- -------------------------- Android.mk --------------------- ------------

LOCAL_PATH   := $(call my-dir) 
SRCS    := $(wildcard $(LOCAL_PATH)/src/*.c) 

include $(CLEAR_VARS) 

LOCAL_MODULE  := HealthCare 
LOCAL_SRC_FILES  := $(SRCS) 

LOCAL_LDLIBS  := -llog 

include $(BUILD_SHARED_LIBRARY) 

回答

6
LOCAL_SRC_FILES := $(SRCS:$(LOCAL_PATH)/%=%) 

EDI TED

LOCAL_C_INCLUDES := $(LOCAL_PATH)/src 
+0

哇......謝謝!對我有幫助,但是如何指導我的* .h? 我JNI目錄'Android.mk Application.mk INC src'和輸入'$ NDK-build'命令,然後導致 '[armeabi]編譯拇指:保健<= filterData.c' 'JNI/SRC /篩選數據.c:3:24:致命錯誤:filterData.h:沒有這樣的文件或目錄編譯終止.' 'make:*** [obj/local/armeabi/objs/HealthCare/src/filterData.o] Error 1' – 2014-09-10 22:48:11

+1

很簡單。使用LOCAL_C_INCLUDES。 – 2014-09-10 22:55:26

+2

我想知道$(SRCS:$(LOCAL_PATH)/%=%)'什麼意思? – 2014-09-11 00:34:14

相關問題