Ask Your Question

Revision history [back]

Cannot find function definations in libopencv_java3.so exported symbols

I want to produce a libopencv_java3.so for android including only the functions I need (opencv_core, opencv_imgproc and opencv_calib3d) based on opencv3.4.3. Because there's no official documentation to build opencv 3.x.x, I searched online and use cmake_gui to build it according to https://medium.com/beesightsoft/build-opencv4-0-1-opencv-contrib-for-android-on-macos-3202e88b8b15. And build the so file using gcc from .a files generated. (I have turned BUILD-FAT_JAVA_LIB ON)

However, whenI use nm -D to should the exported symbols, there's no exported functions like "Java_org_opencv_core_Core_getBuildInformation_10" provided by official opencv android sdk.

My questions are: 1. What could potentially cause the missing of exported symbols in .so file? 2. Is there any other ways to include only partial of the library to so file to reduce the size of .so file ?

Thanks a lot!