我在编译我的应用程序时遇到了一个问题,它的灵感来自于位图等离子。我在打电话给你
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"
问题出在调试代码上。但问题出在哪里呢?有人能给出答案吗?
发布于 2011-02-10 00:49:01
经过简短的研究后,我知道我需要添加
`LOCAL_LDFLAGS += -ljnigraphics`
在Android.mk文件中。
发布于 2016-10-02 06:18:00
我已经解决了这个问题,在文件“CMakeList.txt”中添加了行"-ljnigraphics“:
"target_link_libraries( # Specifies the target library.
native-lib
-ljnigraphics
# Links the target library to the log library
# included in the NDK.
${log-lib} )
发布于 2015-12-09 18:42:34
如果使用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的答案。
https://stackoverflow.com/questions/4939266
复制相似问题