Issue Tracking

undefined reference to AndroidBitmap_getInfo

CommitGuy 2022. 1. 15. 17:56

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 를 추가해주면 해당 에러가 발생하지 않는다