1

我正在使用 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)

谢谢您的帮助。

4

2 回答 2

1

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

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

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

于 2012-07-25T19:13:34.403 回答
0

我遇到了同样的问题。然后我找到了这个答案。 未找到用于本机代码编译的 Android bitmap.h

刚跑:

ndk-build APP_PLATFORM=android-8
于 2014-12-08T02:33:20.547 回答