编译我的应用时遇到问题,这是受位图等离子的启发。我在打电话
if ((ret = AndroidBitmap_getInfo(env, bitmap, &info)) < 0) {
LOGE("AndroidBitmap_getInfo() failed ! error=%d", ret);
return;
}
if (info.format != ANDROID_BITMAP_FORMAT_RGB_565) {
LOGE("Bitmap format is not RGB_565 !");
return;
}
if ((ret = AndroidBitmap_lockPixels(env, bitmap, &pixels)) < 0) {
LOGE("AndroidBitmap_lockPixels() failed ! error=%d", ret);
}
/*****code here***********/
AndroidBitmap_unlockPixels(env, bitmap);
我在源文件中包含了android / bitmap.h。我在ubuntu 10.10上使用android-ndk-r5b和sdk-9。
我收到错误
/home/user5432/workspace/bitmapproj/obj/local/armeabi/objs-debug/mybitmap.o : In function Java_com_example_plasma_PlasmaView_renderPlasma
"undefined reference to AndroidBitmap_getInfo"
"undefined reference to AndroidBitmap_lockPixels"
"undefined reference to AndroidBitmap_unlockPixels"
问题在于调试代码。但是问题是什么?任何人都有答案吗?
答案 0 :(得分:41)
经过简短的研究后,我知道我需要添加
`LOCAL_LDFLAGS += -ljnigraphics`
在Android.mk文件中。
答案 1 :(得分:16)
我通过在文件“CMakeList.txt”中添加“-ljnigraphics”行来解决:
[[UIBarButtonItem appearanceWhenContainedInInstancesOfClasses:@[[UINavigationBar class]]] setTintColor:[UIColor whiteColor]];
答案 2 :(得分:7)
如果使用Android Studio,您还需要将库添加到gradle.build文件中。
android {
...
defaultConfig {
...
ndk {
ldLibs = ["android", "jnigraphics", <other ndk libraries you might need>]
moduleName "webcam"
}
}
}
似乎gradle忽略了针对ndk依赖项的Android.mk文件。请参阅undefined reference to `__android_log_print',特别是Stephen Kaiser对所选答案和BoredT答案的评论。