2012-07-25 50 views
1

我正在使用Android NDK構建庫。我有一切運作良好,但後來我需要更改庫中引用的包名稱。我試過一次我做了改變,其文件夾中調用NDK建造再建庫,但是這是唯一的輸出我得到的,它似乎並沒有完全建設:由於Bitmap.h丟失,Android NDK不會構建庫嗎?

C:\my-app\jni>ndk-build -B 
"Compile++ thumb : filters <= filters.cpp 
C:/a-fa-outsidelands//jni/filters.cpp:4:28: fatal error: android/bitmap.h: No such file  or directory 
compilation terminated. 

這進而導致當我嘗試運行應用程序時出現不滿意的鏈接錯誤。我會發布我的.mk文件,但我認爲這不重要,因爲我以前的庫正在處理這個.mk文件。我正在執行重建(-B參數),因爲它已經覆蓋了以前的版本。有什麼建議麼?這裏是我的.mk文件:

LOCAL_PATH := $(call my-dir) 

include $(CLEAR_VARS) 

LOCAL_MODULE := filters 
LOCAL_SRC_FILES := filters.cpp 
LOCAL_LDLIBS := -lm -llog -ljnigraphics 

include $(BUILD_SHARED_LIBRARY) 

感謝您的幫助。

回答

1

應用程序清單中的android:targetSdkVersion是什麼? IIRC,bitmap.h直到SDK v8才被引入。

編輯:是最後一次成功的建立在同一臺機器上,具有相同的NDK版本? #include行是否使用<android/bitmap.h>而不是"android/bitmap.h"

編輯2:自上次構建以來targetSdkVersion是否發生了變化?我發現一件有趣的事:android-ndk-xx\platforms下沒有android-10。嘗試在android-ndk-xx\platforms下創建一個空白android-10文件夾,並在那裏複製android-9的內容。我真的不知道還有什麼要檢查。

+0

目標是10,最小爲8 – 2012-07-25 19:22:32

+0

這是同樣的NDK版本,正是你看我找到了什麼#include行使用? – 2012-07-25 19:38:05

+0

filters.cpp,第4行。相同的NDK版本 - 但它是同一臺機器嗎? – 2012-07-25 19:50:18