Я пытаюсь запустить программу, которая использует библиотеки ffmpeg для декодирования mp3-файлов. Я использую следующие опции для компиляции программы:
g++ -c play.cpp -o play.o
g++ -o play play.o -L/usr/local/lib -lavutil -lavcodec -lavformat -lavdevice \
-lavfilter -ldl -lasound -L/usr/lib -lSDL -lpthread -lz -lswscale -lm
Но при линковке я получаю следующие ошибки:
play.cpp:(.text+0x49): undefined reference to `av_dup_packet(AVPacket*)'
play.cpp:(.text+0x66): undefined reference to `av_malloc(unsigned int)'
play.cpp:(.text+0x324): undefined reference to `avcodec_decode_audio3(AVCodecContext*, short*, int*, AVPacket*)'
play.cpp:(.text+0x387): undefined reference to `av_free_packet(AVPacket*)'
и так далее ...
Эти сообщаемые функции доступны в libavcodec.a и т. Д., Которые я уже указал с опциями ссылки.
Может кто-нибудь сказать мне, что может быть не так, или предложить, как подойти к отладке этого?