Android位图本地代码 - 链接问题该怎么解决?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (24)

编译我的应用程序时受到位图等离子体的启发,我遇到了问题如下:

    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"
提问于
用户回答回答于

经过短暂的研究后,我知道我需要补充:

`LOCAL_LDFLAGS += -ljnigraphics` 

在Android.mk文件中。

用户回答回答于

如果使用Android Studio,则还需要将库添加到gradle.build文件中:

android {
    ...

    defaultConfig {
        ...

        ndk {
            ldLibs = ["android", "jnigraphics", <other ndk libraries you might need>]
            moduleName "webcam"
        }
    }
}

扫码关注云+社区