file /usr/lib/aarch64-linux-gnu/libavcodec-ffmpeg.so.56.60.100
/usr/lib/aarch64-linux-gnu/libavcodec-ffmpeg.so.56.60.100: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=e534adc24d3ba924851e5a11dc9eee87d5008d36, stripped
file /usr/lib/aarch64-linux-gnu/libopencv_highgui.so.2.4.9
/usr/lib/aarch64-linux-gnu/libopencv_highgui.so.2.4.9: ELF 64-bit LSB shared object, ARM aarch64, version 1 (GNU/Linux), dynamically linked, BuildID[sha1]=2a6d6bf1318da7a8593b96359b3c8a66008744ee, stripped
Notice that these two differ in the way of (SYSV) vs (GNU/Linux).
gcc/c++ linker cannot link them,libopencv_highgui.so.2.4.9: undefined reference to `avio_close@LIBAVFORMAT_FFMPEG_56' which is actually defined in this file.
Having problem link against these 2 libs in my project, libopencv_highgui.so depends on libavcodec-ffmpeg.so. I noticed that on my system they two have different file info (some type), the order of the -l flags for them is correct (libavcodec-ffmpeg.so comes after), don't know how to get them linked.