Я играю с libav *. Я написал простую программу для открытия файла и вывода количества потоков, которые он имеет в нем, просто для того, чтобы мои ноги были влажными. Я связываюсь с avformat, avcodec и avutil. Тем не менее, я получаю неопределенные ссылочные ошибки из ld. Неопределенные ссылки - все функции libav *. Я взглянул на подробный вывод компоновщика и вижу, что он связывается с правильными библиотеками, и я использовал objdump для подтверждения того, что символы находятся в библиотеке, но ld все еще бросает неопределенные опорные ошибки.
Вы программируете в C++? В этом случае вам нужно добавить "extern" C "{...};".
Взгляните сюда: зачем нам использовать extern "C" {#include <foo.h>} в C++? и заметим, что libav * написан на C.