Android용 OpenCV 라이브러리 개발을 하던 중 Android의 Bitmap 관련 함수들이 필요하여 사용했는데 undefined error가 떴다.
undefined reference to `AndroidBitmap_getInfo'
undefined reference to `AndroidBitmap_lockPixels'
undefined reference to `AndroidBitmap_unlockPixels'
undefined reference to `AndroidBitmap_unlockPixels'
undefined reference to `AndroidBitmap_unlockPixels'
나의 경우 AndroidBitmap_getInfo, AndroidBitmap_lockPixels, AndroidBitmap_unlockPixels 에서 undefined reference error가 발생하였는데 이는 손쉽게 해결할 수 있었다.
우선 Android.mk를 이용해 빌드 중이라면 Android.mk에 `LOCAL_LDFLAGS += -ljnigraphics` 이것을 추가해주면 에러가 발생하지 않고
나 처럼 CMakeLists를 이용해 빌드 중이라면 CMakeList에
target_link_libraries( # Specifies the target library.
......
-ljnigraphics #For use AndroidBitmap on JNI
# Links the target library to the log library
# included in the NDK.
${log-lib} )
target_link_libraries에 -ljnigraphics 를 추가해주면 해당 에러가 발생하지 않는다