2012-07-19 134 views
12

我在其他地方看過這個問題,但答案似乎並不適用於我的情況。我有一個.cpp文件(不是.c文件)。我得到的錯誤:Android NDK,沒有規則制定目標

make:*沒有規則制定目標jni/native.c', needed by obj/local/armeabi/objs/native/native.o'。停止。 Cirapi_android C/C++問題

這是我的Android.mk文件(很簡單):

LOCAL_PATH:=$(call my-dir) 
include $(CLEAR_VARS) 
LOCAL_LDLIBS:=-llog 
LOCAL_MODULE:=native 
LOCAL_SRC_FILES:=native.cpp 
include $(BUILD_SHARED_LIBRARY) 

我已經刪除所有的額外空間,解決其他的問題。它抱怨native.c,我甚至沒有在我的makefile中列出。有任何想法嗎?

我MacOSX上雪豹,Eclipse的朱諾,NDK R8

+0

你在native.cpp裏面有'extern「C {}嗎? – Macarse 2012-07-19 22:32:15

+0

是的,我願意。 cpp文件在Eclipse中編譯正常。我想知道是否有路徑或權限問題。我不得不指定Eclipse的絕對路徑來查找jni.h頭文件。 – alexcir 2012-07-20 14:42:49

回答

16

得到它的工作...不知道什麼鍵被...改變了生成文件..

TOP_LOCAL_PATH:=$(call my-dir) 
include $(call all-subdir-makefiles) 
LOCAL_PATH := $(TOP_LOCAL_PATH) 

include $(CLEAR_VARS) 
LOCAL_LDLIBS:=-llog 
LOCAL_MODULE:=native 
LOCAL_SRC_FILES:=native.cpp 

include $(BUILD_SHARED_LIBRARY) 

...也從obj目錄中刪除了.o文件......懷疑清理工作不正常。

+12

刪除obj目錄中的所有文件爲我做了。謝謝! – 2013-03-20 00:54:34

+0

你如何進入obj目錄? – 2013-06-26 18:33:31

+0

@adamkim它在項目層次結構中可用../ obj/local/armeabi/.. – CoDe 2014-04-14 13:16:54

相關問題