我正在尝试使用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仅在8或更高的target-skd构建之后存在,而我的目标是10和最小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)
答案 0 :(得分:15)
让它发挥作用。我使用SDK工具修订版20和平台工具修订版12.为了使其编译,我必须在命令行中指定APP_PLATFORM(显然这些修订版默认为其他内容)。
刚开始:
ndk-build APP_PLATFORM=android-8
它建成了!
答案 1 :(得分:1)
将APP_PLATFORM = android-8插入文件Application.mk
答案 2 :(得分:0)
嗯,答案也对我有帮助。 我尝试将APP_PLATFORM变量值从Application.mk设置为android-10(因为我预计此选项也应该是APP_ABI所在的位置),但这没有帮助。 非常不直观,但无论如何,对吧..?