2012-09-22 109 views
2

我有一個非常簡單的測試項目。基本上jni下的一個本地c文件(jni在項目的根目錄下爲 ,與'src''res'等目錄相同)。本作 文件是基本上是簡單的:ndk-build在jni目錄下找不到文件

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

錯誤消息是:作:*沒有規則,使目標`「/native.c」。需要... 很明顯,ndk-build試圖在根目錄下找到該文件。如果我將文件 複製到根目錄'/',或者如果我在make文件中指定了'native.c'的完整路徑,則 就可以。

我也嘗試通過$(warning,'$(LOCAL_PATH)')輸出$ LOCAL_PATH,發現沒有問題。

+0

什麼是你的項目的根目錄的完整路徑? –

回答

1

具有以下內容創建Android.mk:

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

native.c在你的Android.mk是同一個文件夾。

運行ndk-build

您將有輸出如下:

D:\12314\jni>ndk-build 
"Compile thumb : native <= native.c 
SharedLibrary : libnative.so 
Install  : libnative.so => libs/armeabi/libnative.so 
+0

同樣,如果我沒有指定完整路徑或在根目錄下放置副本,仍然無法找到native.c。 – user1477339

+0

我已經更新了我的答案。它現在應該工作。 –

+0

我原來的Android.mk就是這樣。它位於jni目錄下。但它找不到native.c(它也在jni下)。所以這很奇怪。我添加了Application.mk給jni。我試着在項目根目錄下(如你的例子中的目錄12314)和jni,同樣的錯誤信息ndk-build。 – user1477339

相關問題