4

我正在尝试使用 Android NDK 编译代码。我以前很好地使用了这段代码,但是在其中更改了一件事,现在它无法编译。出现的错误是:

"Compile++ thumb : filters <= filters.cpp
C:/Android/my-app//jni/filters.cpp:4:28: fatal error: android
/bitmap.h: No such file or directory
compilation terminated.
make: *** [C:/Android/my-app//obj/local/armeabi/objs/filters/
filters.o] Error 1

我的 bitmap.h 文件在库中定义为:

#include <android/bitmap.h>

我知道 bitmap.h 只有在 target-skd 构建为 8 或更高版本之后才存在,而我的目标是 10,min 为 8。有什么建议吗?这让我发疯并且曾经工作过!感谢您提供的任何帮助。

编辑:这也是我的 Android.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)
4

3 回答 3

15

让它工作。我使用的是 SDK 工具修订版 20 和平台工具修订版 12。为了让它编译,我必须在命令行中指定 APP_PLATFORM(显然这些修订版默认为其他内容)。

刚跑:

ndk-build APP_PLATFORM=android-8

它建成了!

于 2012-07-26T15:23:53.120 回答
1

将 APP_PLATFORM=android-8 插入文件 Application.mk

于 2014-10-14T10:04:56.997 回答
0

好吧,下面的答案也帮助了我。我尝试将 APP_PLATFORM 变量从 Application.mk 设置为 android-10 (正如我预期的那样,这个选项也应该是 APP_ABI 所在的位置),但这没有帮助。非常不直观,但不管怎样,对吧..?

于 2013-01-29T11:25:21.843 回答