第一种情况,单个library
add_library(ImageProc1 SHARED src/main/cpp/ImageProc1.c)
AndroidStudio使用cmake交叉编译时报如下错误
Error:(425) undefined reference to ‘AndroidBitmap_getInfo’
Error:(440) undefined reference to ‘AndroidBitmap_lockPixels’
解决方法:
在CMakeLists.txt文件的target_link_libraries节点中加入jnigraphics
target_link_libraries( ImageProc1
#加入该依赖库
jnigraphics
${log-lib} )
‘jnigraphics’库说明:
这是一个很小的库,展示一个稳定的,基于C语言的接口,使本机代码安全地访问Java对象的像素缓冲区的位图.
第二种情况,添加了两个library
add_library(ImageProc1 SHARED src/main/cpp/ImageProc1.c)
add_library(ImageProc2 SHARED src/main/cpp/ImageProc2.c)
就需要分别添加两个target_link_libraries
target_link_libraries(ImageProc1 jnigraphics
${log-lib} )
target_link_libraries(ImageProc2 jnigraphics
${log-lib} )
参考:
http://blog.csdn.net/hzl4683451/article/details/53513301
http://www.cnblogs.com/wyqfighting/archive/2012/12/10/2810937.html