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