Конфликтующие библиотеки в / usr / local / lib и / usr / lib / x86_64-linux-gnu

Итак, я вручную установил последнее ffmpeg некоторое время назад, потому что для одного из моих проектов нужны последние библиотеки .55 ffmpeg (я думаю, что я использовал это: https://trac.ffmpeg.org/wiki/UbuntuCompilationGuide). Итак, теперь в / usr / local / lib у меня есть:

/usr/local/lib/libavcodec.a  /usr/local/lib/libavcodec.so
/usr/local/lib/libavcodec.so.55  /usr/local/lib/libavcodec.so.55.38.101

Проблема в том, что в / usr / lib / x86_64-linux-gnu у меня есть:

/usr/lib/x86_64-linux-gnu/libavcodec.a   /usr/lib/x86_64-linux-gnu/libavcodec.so.53
/usr/lib/x86_64-linux-gnu/libavcodec.so  /usr/lib/x86_64-linux-gnu/libavcodec.so.53.35.0

Когда я компилирую свой код, я получаю эту ошибку компоновщика:

/usr/bin/ld: warning: libavcodec.so.55, needed by /usr/local/lib/libopencv_highgui.so, may conflict with libavcodec.so.53
/usr/bin/ld: obj/h264_decoder.o: undefined reference to symbol 'avcodec_free_frame@@LIBAVCODEC_55'
/usr/bin/ld: note: 'avcodec_free_frame@@LIBAVCODEC_55' is defined in DSO /usr/local/lib/libavcodec.so.55 so try adding it to the linker command line
/usr/local/lib/libavcodec.so.55: could not read symbols: Invalid operation
collect2: ld returned 1 exit status

Если я избавлюсь от файлов конфликтующей библиотеки в / usr / lib / x86_64-linux-gnu, тогда мой код компилируется с помощью нет ошибок. Однако тогда другие программы (например, проигрыватель фильмов) перестают работать. Каков наилучший способ решить эту проблему?

1
задан 18 November 2013 в 09:39

0 ответов

Другие вопросы по тегам:

Похожие вопросы: