Android NDK不会构建库,因为缺少Bitmap.h?

时间:2012-07-25 19:08:16

标签: android android-ndk

我正在使用Android NDK来构建库。我把一切都运行得很好,但后来我需要更改库中引用的包名。通过在其文件夹中调用ndk-build,我尝试再次构建库,但这是我得到的唯一输出,它似乎没有完全构建:

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)

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

应用清单中的android:targetSdkVersion是什么? IIRC,直到SDK v8才引入bitmap.h

编辑:最后一次成功构建在同一台机器上,具有相同的NDK版本吗? #include行是否使用<android/bitmap.h>而不是"android/bitmap.h"

EDIT2:自上次构建以来,targetSdkVersion是否发生了变化?我发现了一件有趣的事:android-10下没有android-ndk-xx\platforms。尝试在android-10下创建一个空白android-ndk-xx\platforms文件夹,然后在其中复制android-9的内容。老实说,我不确定还有什么要检查。

答案 1 :(得分:0)

我遇到了同样的问题。然后我找到了这个答案。 Android bitmap.h is not found for native code compile

刚开始:

ndk-build APP_PLATFORM=android-8