Как связать общие библиотеки SYSV и GNU/LinuxLinux

Anonymous
Как связать общие библиотеки SYSV и GNU/Linux

Сообщение Anonymous »


файл /usr/lib/aarch64-linux-gnu/libavcodec-ffmpeg.so.56.60.100 /usr/lib/aarch64-linux-gnu/libavcodec-ffmpeg.so.56.60.100: общий объект ELF, 64-битный LSB, ARM aarch64, версия 1 (SYSV), динамически связанный, BuildID[sha1]=e534adc24d3ba924851e5a11dc9eee87d5008d36, удаленный файл /usr/lib/aarch64-linux-gnu/libopencv_highgui.so.2.4.9 /usr/lib/aarch64-linux-gnu/libopencv_highgui.so.2.4.9: общий объект ELF, 64-битный LSB, ARM aarch64, версия 1 (GNU/Linux), динамически связанный, BuildID[sha1]=2a6d6bf1318da7a8593b96359b3c8a66008744ee, удаленный Обратите внимание, что эти два варианта отличаются друг от друга (SYSV) и (GNU/Linux).

Компоновщик gcc/c++ не может связать их, libopencv_highgui.so.2.4.9: неопределенная ссылка на `avio_close@LIBAVFORMAT_FFMPEG_56', которая фактически определена в этом файле.

В моем проекте есть проблема со ссылкой на эти две библиотеки: libopencv_highgui.so зависит от libavcodec-ffmpeg.so. Я заметил, что в моей системе у них двоих есть разная информация о файле (некоторый тип), порядок флагов -l для них правильный (libavcodec-ffmpeg.so идет после ), не знаю, как их связать.

Вернуться в «Linux»