Hi all,

I have the following question: I want to statically link my application with a specific version off the ffmpeg libraries (20900) because we want to use more than version of ffmpeg on the same machine. So, for this I have done:

./configure --enable-static --enable-gpl --enable-libfaac --enable-libfaad --enable-libx264 --enable-nonfree

make && make install

till now everything is just fine.

Now, I want to build link my application with ffmpeg:

gcc -Wall -g live_segmenter.c -o live_segmenter \
/usr/local/src/ffmpeg-20900/libavcodec/libavcodec.a /usr/local/src/ffmpeg-20900/libavformat/libavformat.a /usr/local/src/ffmpeg-20900/libavutil/libavutil.a \
    /usr/local/src/ffmpeg-20900/libavdevice/libavdevice.a \
    /usr/local/src/ffmpeg-20900/libswscale/libswscale.a \
    /usr/local/src/ffmpeg-20900/libpostproc/libpostproc.a \
    -lpthread  -lbz2 -lm -lz -lfaac -lmp3lame -lx264 -lfaad

and I get the following output:

/usr/local/src/ffmpeg-20900/libavformat/libavformat.a(allformats.o): In function `av_register_all': /usr/local/src/ffmpeg-20900/libavformat/allformats.c:47: undefined reference to `avcodec_register_all' /usr/local/src/ffmpeg-20900/libavformat/libavformat.a(utils.o): In function `av_find_stream_info': /usr/local/src/ffmpeg-20900/libavformat/utils.c:2229: undefined reference to `avcodec_pix_fmt_to_codec_tag' /usr/local/src/ffmpeg-20900/libavformat/libavformat.a(adtsenc.o): In function `decode_extradata': /usr/local/src/ffmpeg-20900/libavformat/adtsenc.c:74: undefined reference to `ff_copy_pce_data' /usr/local/src/ffmpeg-20900/libavformat/libavformat.a(mov.o): In function `ff_mov_read_esds': /usr/local/src/ffmpeg-20900/libavformat/mov.c:467: undefined reference to `ff_mpeg4audio_get_config' /usr/local/src/ffmpeg-20900/libavformat/mov.c:471: undefined reference to `ff_mpa_freq_tab' /usr/local/src/ffmpeg-20900/libavformat/libavformat.a(dv.o): In function `dv_produce_packet': /usr/local/src/ffmpeg-20900/libavformat/dv.c:325: undefined reference to `ff_dv_frame_profile' /usr/local/src/ffmpeg-20900/libavformat/libavformat.a(dv.o): In function `dv_frame_offset': /usr/local/src/ffmpeg-20900/libavformat/dv.c:371: undefined reference to `ff_dv_codec_profile' /usr/local/src/ffmpeg-20900/libavformat/libavformat.a(dv.o): In function `dv_read_header': /usr/local/src/ffmpeg-20900/libavformat/dv.c:434: undefined reference to `ff_dv_frame_profile' /usr/local/src/ffmpeg-20900/libavformat/libavformat.a(dvenc.o): In function `dv_init_mux': /usr/local/src/ffmpeg-20900/libavformat/dvenc.c:324: undefined reference to `ff_dv_codec_profile' /usr/local/src/ffmpeg-20900/libavformat/libavformat.a(flacdec.o): In function `flac_read_header': /usr/local/src/ffmpeg-20900/libavformat/flacdec.c:61: undefined reference to `ff_flac_parse_block_header' /usr/local/src/ffmpeg-20900/libavformat/flacdec.c:100: undefined reference to `ff_flac_parse_streaminfo' /usr/local/src/ffmpeg-20900/libavformat/libavformat.a(flacenc.o): In function `ff_flac_write_header': /usr/local/src/ffmpeg-20900/libavformat/flacenc.c:34: undefined reference to `ff_flac_is_extradata_valid' /usr/local/src/ffmpeg-20900/libavformat/libavformat.a(flacenc.o): In function `flac_write_trailer': /usr/local/src/ffmpeg-20900/libavformat/flacenc.c:60: undefined reference to `ff_flac_is_extradata_valid' /usr/local/src/ffmpeg-20900/libavformat/libavformat.a(flacenc.o): In function `ff_flac_write_header': /usr/local/src/ffmpeg-20900/libavformat/flacenc.c:34: undefined reference to `ff_flac_is_extradata_valid' /usr/local/src/ffmpeg-20900/libavformat/libavformat.a(flvdec.o): In function `flv_read_packet': /usr/local/src/ffmpeg-20900/libavformat/flvdec.c:412: undefined reference to `ff_mpeg4audio_get_config' /usr/local/src/ffmpeg-20900/libavformat/libavformat.a(matroskadec.o): In function `matroska_read_header': /usr/local/src/ffmpeg-20900/libavformat/matroskadec.c:1279: undefined reference to `ff_mpeg4audio_sample_rates' /usr/local/src/ffmpeg-20900/libavformat/matroskadec.c:1279: undefined reference to `ff_mpeg4audio_sample_rates' /usr/local/src/ffmpeg-20900/libavformat/libavformat.a(matroskaenc.o): In function `get_aac_sample_rates': /usr/local/src/ffmpeg-20900/libavformat/matroskaenc.c:438: undefined reference to `ff_mpeg4audio_sample_rates' /usr/local/src/ffmpeg-20900/libavformat/matroskaenc.c:447: undefined reference to `ff_mpeg4audio_sample_rates' /usr/local/src/ffmpeg-20900/libavformat/libavformat.a(mp3.o): In function `mp3_parse_vbr_tags': /usr/local/src/ffmpeg-20900/libavformat/mp3.c:93: undefined reference to `ff_mpegaudio_decode_header' /usr/local/src/ffmpeg-20900/libavformat/libavformat.a(mp3.o): In function `mp3_read_probe': /usr/local/src/ffmpeg-20900/libavformat/mp3.c:58: undefined reference to `ff_mpa_decode_header' /usr/local/src/ffmpeg-20900/libavformat/libavformat.a(nutenc.o): In function `find_expected_header': /usr/local/src/ffmpeg-20900/libavformat/nutenc.c:54: undefined reference to `ff_mpa_freq_tab' /usr/local/src/ffmpeg-20900/libavformat/nutenc.c:62: undefined reference to `ff_mpa_bitrate_tab' /usr/local/src/ffmpeg-20900/libavformat/libavformat.a(oggparseflac.o): In function `flac_header': /usr/local/src/ffmpeg-20900/libavformat/oggparseflac.c:58: undefined reference to `ff_flac_parse_streaminfo' /usr/local/src/ffmpeg-20900/libavformat/libavformat.a(oggenc.o): In function `ogg_build_flac_headers': /usr/local/src/ffmpeg-20900/libavformat/oggenc.c:115: undefined reference to `ff_flac_is_extradata_valid' /usr/local/src/ffmpeg-20900/libavformat/libavformat.a(spdif.o): In function `spdif_header_aac': /usr/local/src/ffmpeg-20900/libavformat/spdif.c:192: undefined reference to `ff_aac_parse_header'
collect2: ld returned 1 exit status
make: *** [all] Error 1

Do you have any idea what might cause this? I have observed that if I add more libraries to the ffmpeg configure script (for example --enable-libxvid) then I get even more undefined references to code which has "xvid" in its name.

Thanks,
frc
_______________________________________________
libav-user mailing list
[email protected]
https://lists.mplayerhq.hu/mailman/listinfo/libav-user

Reply via email to