Estou tentando instalar a versão mais recente da libav no site da libav . Atualmente sendo a versão 11.7. Eu descompactei, configurei, criei e fiz a instalação.
Para ./configure eu tentei usar várias opções. Como precaução, se eu adicionar / remover uma opção com ./configure, eu faria isso com uma nova cópia do código-fonte e também limparia as bibliotecas e os cabeçalhos.
As opções adicionais foram:
./configure --enable-libx264 --enable-librtmp --enable-gpl --enable-nonfree --enable-muxer=mp4 --enable-muxer=h264 --enable-demuxer=aac --enable-demuxer=h264 --enable-encoder=libx264 --enable-encoder=libfdk_aac --enable-decoder=libfdk_aac --enable-version3
Eu também cansei sem opções adicionais.
No eclipse IDE, configurei o compilador para incluir / usr / local / libs em seu caminho de pesquisa e também incluí as próprias libs.
Eu não sei mais o que fazer. Eu continuo recebendo referências indefinidas.
Editar (informações adicionais):
Eu simplifiquei o código para que fosse apenas a função av_register_all () ;. Eu ainda recebo erros. Aqui estão alguns:
/usr/local/lib/libavcodec.a(libx264.o): In function 'X264_frame':
/usr/local/src/libav/libavcodec/libx264.c:140: undefined reference to 'x264_picture_init'
/usr/local/src/libav/libavcodec/libx264.c:142: undefined reference to 'x264_bit_depth'
/usr/local/src/libav/libavcodec/libx264.c:160: undefined reference to 'x264_encoder_reconfig'
/usr/local/src/libav/libavcodec/libx264.c:166: undefined reference to 'x264_encoder_reconfig'
/usr/local/src/libav/libavcodec/libx264.c:173: undefined reference to 'x264_encoder_reconfig'
/usr/local/src/libav/libavcodec/libx264.c:192: undefined reference to 'x264_encoder_reconfig'
/usr/local/src/libav/libavcodec/libx264.c:232: undefined reference to 'x264_encoder_reconfig'
/usr/local/src/libav/libavcodec/libx264.c:237: undefined reference to 'x264_encoder_encode'
/usr/local/src/libav/libavcodec/libx264.c:243: undefined reference to 'x264_encoder_delayed_frames'
/usr/local/src/libav/libavcodec/libx264.c:237: undefined reference to 'x264_encoder_encode'
/usr/local/src/libav/libavcodec/libx264.c:179: undefined reference to 'x264_encoder_reconfig'
/usr/local/src/libav/libavcodec/libx264.c:198: undefined reference to 'x264_encoder_reconfig'
/usr/local/src/libav/libavcodec/libx264.c:186: undefined reference to 'x264_encoder_reconfig'
/usr/local/lib/libavcodec.a(libx264.o): In function 'X264_init_static':
/usr/local/src/libav/libavcodec/libx264.c:577: undefined reference to 'x264_bit_depth'
/usr/local/lib/libavcodec.a(libx264.o): In function 'X264_close':
/usr/local/src/libav/libavcodec/libx264.c:278: undefined reference to 'x264_encoder_close'
/usr/local/lib/libavcodec.a(libx264.o): In function 'X264_init':
/usr/local/src/libav/libavcodec/libx264.c:314: undefined reference to 'x264_param_default'
/usr/local/src/libav/libavcodec/libx264.c:319: undefined reference to 'x264_param_default_preset'
/usr/local/src/libav/libavcodec/libx264.c:415: undefined reference to 'x264_param_parse'
/usr/local/src/libav/libavcodec/libx264.c:416: undefined reference to 'x264_param_parse'
/usr/local/src/libav/libavcodec/libx264.c:417: undefined reference to 'x264_param_parse'
/usr/local/src/libav/libavcodec/libx264.c:418: undefined reference to 'x264_param_parse'
/usr/local/src/libav/libavcodec/libx264.c:459: undefined reference to 'x264_param_apply_fastfirstpass'
/usr/local/src/libav/libavcodec/libx264.c:465: undefined reference to 'x264_param_apply_profile'
/usr/local/src/libav/libavcodec/libx264.c:501: undefined reference to 'x264_param_parse'
/usr/local/src/libav/libavcodec/libx264.c:519: undefined reference to 'x264_encoder_open_148'
/usr/local/src/libav/libavcodec/libx264.c:532: undefined reference to 'x264_encoder_headers'
/usr/local/lib/libavcodec.a(opusdec.o): In function 'opus_decode_subpacket':
/usr/local/src/libav/libavcodec/opusdec.c:382: undefined reference to 'avresample_is_open'
/usr/local/lib/libavcodec.a(opusdec.o): In function 'opus_decode_frame':
/usr/local/src/libav/libavcodec/opusdec.c:221: undefined reference to 'avresample_is_open'
/usr/local/lib/libavcodec.a(opusdec.o): In function 'opus_init_resample':
/usr/local/src/libav/libavcodec/opusdec.c:163: undefined reference to 'avresample_open'
/usr/local/src/libav/libavcodec/opusdec.c:169: undefined reference to 'avresample_convert'
/usr/local/lib/libavcodec.a(opusdec.o): In function 'opus_decode_frame':
/usr/local/src/libav/libavcodec/opusdec.c:236: undefined reference to 'avresample_convert'
/usr/local/lib/libavcodec.a(opusdec.o): In function 'opus_flush_resample':
/usr/local/src/libav/libavcodec/opusdec.c:118: undefined reference to 'avresample_convert'
/usr/local/lib/libavcodec.a(opusdec.o): In function 'opus_decode_subpacket':
/usr/local/src/libav/libavcodec/opusdec.c:414: undefined reference to 'avresample_close'
/usr/local/lib/libavcodec.a(opusdec.o): In function 'opus_decode_flush':
/usr/local/src/libav/libavcodec/opusdec.c:616: undefined reference to 'avresample_close'
/usr/local/lib/libavcodec.a(opusdec.o): In function 'opus_decode_close':
/usr/local/src/libav/libavcodec/opusdec.c:640: undefined reference to 'avresample_free'
/usr/local/lib/libavcodec.a(opusdec.o): In function 'opus_decode_init':
/usr/local/src/libav/libavcodec/opusdec.c:704: undefined reference to 'avresample_alloc_context'
/usr/local/lib/libavcodec.a(pthread_frame.o): In function 'ff_frame_thread_free':
/usr/local/src/libav/libavcodec/pthread_frame.c:522: undefined reference to 'pthread_join'
/usr/local/lib/libavcodec.a(pthread_frame.o): In function 'ff_frame_thread_init':
/usr/local/src/libav/libavcodec/pthread_frame.c:648: undefined reference to 'pthread_create'
/usr/local/lib/libavcodec.a(pthread_slice.o): In function 'ff_slice_thread_free':
/usr/local/src/libav/libavcodec/pthread_slice.c:110: undefined reference to 'pthread_join'
/usr/local/lib/libavcodec.a(pthread_slice.o): In function 'ff_slice_thread_init':
/usr/local/src/libav/libavcodec/pthread_slice.c:211: undefined reference to 'pthread_create'
collect2: error: ld returned 1 exit status
Para ser mais específico, as bibliotecas são instaladas no diretório / usr / local / lib, os cabeçalhos são instalados / usr / local / include / libav *.
Também tentei compilar meu código-fonte por linha de comando, em vez de o IDE fornecer o mesmo resultado.
argumento da linha de comando:
c++ -L/usr/local/lib test.cpp -lx264 -lavresample -lavformat -lavutil -lavcodec -lavutil -lz -lavutil -o out