[FFmpeg-devel] undefined reference to sws_getContext and others library linking question

Chau Pham chaupv79 at hotmail.com
Wed Jul 11 04:39:00 CEST 2012


Hi Everybody, 

(sorry for inconvenence: ffmpeg-user can't receive this big email, it limited in 60KB, I just want you to see full error message)

I compiled ffmpeg-0.11.1 on linux, I want to use its library and header in a small specific c program to use av_register_all() in ffmpeg library,
I am having trouble in linking ffmpeg.

0) I use Centos 6.3 for a linux machine.
1) I have compiled ffmpeg-0.11.1 in /root/ffmpeg-source/working/ffmpeg ( I use 'configure' and 'make', not use 'make install' because i want to manage ffmpeg in a specific directory)
 
 ./configure --enable-gpl --enable-avfilter --enable-swscale --disable-shared --enable-libmp3lame --enable-libtheora --enable-libvo-aacenc --enable-libvorbis --enable-libvpx --enable-libx264 --    enable-version3
 
make

2) I make a test.c in /root/ffmpeg-source/working/test.c as below:

#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
#include <stdio.h>
int main()
{
        avcodec_register_all();
        avfilter_register_all();
        av_register_all();
        printf("Test FFmpeg library! \n");
        return 1;
}

2.1) make a link inside working:
 
ln -s ../ffmpeg ffmpeg 
 
3) I make a Makefile in /root/ffmpeg-source/working/ as below:

PROGRAM = test
INCLUDEDIRS = -Iffmpeg/

LIBDIRS = \
        -L./ffmpeg/libavcodec \
        -L./ffmpeg/libavformat \
        -L./ffmpeg/libavfilter \
        -L./ffmpeg/libpostproc \
        -L./ffmpeg/libswresample \
        -L./ffmpeg/libswscale \
        -L./ffmpeg/libavdevice \
        -L./ffmpeg/libavutil

LIBS = -lpostproc -lswresample -lswscale -lavfilter -lavdevice -lavformat -lavcodec -lavutil -lm -ldl -Wl
 
CXXSOURCES = test.c               
CXXOBJECTS = $(CXXSOURCES:.c=.o)  
HEADERFLAGS = $(INCLUDEDIRS)
CXX = gcc
LDFLAGS = $(LIBDIRS) $(LIBS)

all: $(PROGRAM)
$(PROGRAM): $(CXXOBJECTS)
        $(CXX) -o $@ $(CXXOBJECTS) $(LDFLAGS)
test.o: test.c
        $(CXX) $(HEADERFLAGS) -c -o test.o test.c
clean:
        $(RM) -f $(CXXOBJECTS) $(PROGRAM)



=> When I compile:

[root at CENT6 working]# make
gcc -Iffmpeg/  -c -o test.o test.c
gcc -o test test.o   -L./ffmpeg/libavcodec -L./ffmpeg/libavformat -L./ffmpeg/libavfilter -L./ffmpeg/libpostproc -L./ffmpeg/libswresample -L./ffmpeg/libswscale -L./ffmpeg/libavdevice -L./ffmpeg/libavutil  -lpostproc -lswresample -lswscale -lavfilter -lavdevice -lavformat -lavcodec -lavutil -lm -ldl -Wl
./ffmpeg/libavfilter/libavfilter.a(vf_mp.o): In function `sws_getContextFromCmdLine':
/root/ffmpeg-source/ffmpeg/libavfilter/vf_mp.c:324: undefined reference to `sws_getContext'
./ffmpeg/libavfilter/libavfilter.a(vf_scale.o): In function `config_props':
/root/ffmpeg-source/ffmpeg/libavfilter/vf_scale.c:232: undefined reference to `sws_freeContext'
./ffmpeg/libavfilter/libavfilter.a(vf_scale.o): In function `query_formats':
/root/ffmpeg-source/ffmpeg/libavfilter/vf_scale.c:136: undefined reference to `sws_isSupportedInput'
/root/ffmpeg-source/ffmpeg/libavfilter/vf_scale.c:145: undefined reference to `sws_isSupportedOutput'
./ffmpeg/libavfilter/libavfilter.a(vf_scale.o): In function `scale_slice':
/root/ffmpeg-source/ffmpeg/libavfilter/vf_scale.c:345: undefined reference to `sws_scale'
./ffmpeg/libavfilter/libavfilter.a(vf_scale.o): In function `uninit':
/root/ffmpeg-source/ffmpeg/libavfilter/vf_scale.c:120: undefined reference to `sws_freeContext'
./ffmpeg/libavfilter/libavfilter.a(vf_scale.o): In function `init':
/root/ffmpeg-source/ffmpeg/libavfilter/vf_scale.c:100: undefined reference to `sws_get_class'
./ffmpeg/libavfilter/libavfilter.a(af_aconvert.o): In function `config_output':
/root/ffmpeg-source/ffmpeg/libavfilter/af_aconvert.c:116: undefined reference to `swr_alloc_set_opts'
/root/ffmpeg-source/ffmpeg/libavfilter/af_aconvert.c:122: undefined reference to `swr_init'
./ffmpeg/libavfilter/libavfilter.a(af_aconvert.o): In function `filter_samples':
/root/ffmpeg-source/ffmpeg/libavfilter/af_aconvert.c:146: undefined reference to `swr_convert'
./ffmpeg/libavfilter/libavfilter.a(af_aconvert.o): In function `uninit':
/root/ffmpeg-source/ffmpeg/libavfilter/af_aconvert.c:68: undefined reference to `swr_free'
./ffmpeg/libavfilter/libavfilter.a(af_aresample.o): In function `config_output':
/root/ffmpeg-source/ffmpeg/libavfilter/af_aresample.c:140: undefined reference to `swr_alloc_set_opts'
/root/ffmpeg-source/ffmpeg/libavfilter/af_aresample.c:147: undefined reference to `swr_init'
./ffmpeg/libavfilter/libavfilter.a(af_aresample.o): In function `request_frame':
/root/ffmpeg-source/ffmpeg/libavfilter/af_aresample.c:228: undefined reference to `swr_convert'
/root/ffmpeg-source/ffmpeg/libavfilter/af_aresample.c:241: undefined reference to `swr_next_pts'
./ffmpeg/libavfilter/libavfilter.a(af_aresample.o): In function `filter_samples':
/root/ffmpeg-source/ffmpeg/libavfilter/af_aresample.c:185: undefined reference to `swr_next_pts'
/root/ffmpeg-source/ffmpeg/libavfilter/af_aresample.c:192: undefined reference to `swr_convert'
./ffmpeg/libavfilter/libavfilter.a(af_aresample.o): In function `init':
/root/ffmpeg-source/ffmpeg/libavfilter/af_aresample.c:51: undefined reference to `swr_alloc'
./ffmpeg/libavfilter/libavfilter.a(af_aresample.o): In function `uninit':
/root/ffmpeg-source/ffmpeg/libavfilter/af_aresample.c:82: undefined reference to `swr_free'
./ffmpeg/libavfilter/libavfilter.a(af_pan.o): In function `config_props':
/root/ffmpeg-source/ffmpeg/libavfilter/af_pan.c:270: undefined reference to `swr_alloc_set_opts'
/root/ffmpeg-source/ffmpeg/libavfilter/af_pan.c:315: undefined reference to `swr_set_matrix'
/root/ffmpeg-source/ffmpeg/libavfilter/af_pan.c:294: undefined reference to `swr_set_channel_mapping'
/root/ffmpeg-source/ffmpeg/libavfilter/af_pan.c:318: undefined reference to `swr_init'
./ffmpeg/libavfilter/libavfilter.a(af_pan.o): In function `filter_samples':
/root/ffmpeg-source/ffmpeg/libavfilter/af_pan.c:354: undefined reference to `swr_convert'
./ffmpeg/libavfilter/libavfilter.a(af_pan.o): In function `uninit':
/root/ffmpeg-source/ffmpeg/libavfilter/af_pan.c:366: undefined reference to `swr_free'
./ffmpeg/libavcodec/libavcodec.a(libmp3lame.o): In function `mp3lame_encode_frame':
/root/ffmpeg-source/ffmpeg/libavcodec/libmp3lame.c:221: undefined reference to `lame_encode_flush'
./ffmpeg/libavcodec/libavcodec.a(libmp3lame.o): In function `encode_frame_int16':
/root/ffmpeg-source/ffmpeg/libavcodec/libmp3lame.c:165: undefined reference to `lame_encode_buffer_interleaved'
./ffmpeg/libavcodec/libavcodec.a(libmp3lame.o): In function `encode_frame_float':
/root/ffmpeg-source/ffmpeg/libavcodec/libmp3lame.c:191: undefined reference to `lame_encode_buffer_float'
./ffmpeg/libavcodec/libavcodec.a(libmp3lame.o): In function `encode_frame_int32':
/root/ffmpeg-source/ffmpeg/libavcodec/libmp3lame.c:180: undefined reference to `lame_encode_buffer_int'
./ffmpeg/libavcodec/libavcodec.a(libmp3lame.o): In function `encode_frame_int16':
/root/ffmpeg-source/ffmpeg/libavcodec/libmp3lame.c:170: undefined reference to `lame_encode_buffer'
./ffmpeg/libavcodec/libavcodec.a(libmp3lame.o): In function `mp3lame_encode_close':
/root/ffmpeg-source/ffmpeg/libavcodec/libmp3lame.c:65: undefined reference to `lame_close'
./ffmpeg/libavcodec/libavcodec.a(libmp3lame.o): In function `mp3lame_encode_init':
/root/ffmpeg-source/ffmpeg/libavcodec/libmp3lame.c:77: undefined reference to `lame_init'
/root/ffmpeg-source/ffmpeg/libavcodec/libmp3lame.c:81: undefined reference to `lame_set_num_channels'
/root/ffmpeg-source/ffmpeg/libavcodec/libmp3lame.c:82: undefined reference to `lame_set_mode'
/root/ffmpeg-source/ffmpeg/libavcodec/libmp3lame.c:85: undefined reference to `lame_set_in_samplerate'
/root/ffmpeg-source/ffmpeg/libavcodec/libmp3lame.c:86: undefined reference to `lame_set_out_samplerate'
/root/ffmpeg-source/ffmpeg/libavcodec/libmp3lame.c:90: undefined reference to `lame_set_quality'
/root/ffmpeg-source/ffmpeg/libavcodec/libmp3lame.c:92: undefined reference to `lame_set_quality'
/root/ffmpeg-source/ffmpeg/libavcodec/libmp3lame.c:96: undefined reference to `lame_set_VBR'
/root/ffmpeg-source/ffmpeg/libavcodec/libmp3lame.c:97: undefined reference to `lame_set_VBR_quality'
/root/ffmpeg-source/ffmpeg/libavcodec/libmp3lame.c:100: undefined reference to `lame_set_brate'
/root/ffmpeg-source/ffmpeg/libavcodec/libmp3lame.c:104: undefined reference to `lame_set_bWriteVbrTag'
/root/ffmpeg-source/ffmpeg/libavcodec/libmp3lame.c:107: undefined reference to `lame_set_disable_reservoir'
/root/ffmpeg-source/ffmpeg/libavcodec/libmp3lame.c:110: undefined reference to `lame_init_params'
/root/ffmpeg-source/ffmpeg/libavcodec/libmp3lame.c:116: undefined reference to `lame_get_encoder_delay'
/root/ffmpeg-source/ffmpeg/libavcodec/libmp3lame.c:119: undefined reference to `lame_get_framesize'
./ffmpeg/libavcodec/libavcodec.a(libtheoraenc.o): In function `submit_stats':
/root/ffmpeg-source/ffmpeg/libavcodec/libtheoraenc.c:135: undefined reference to `th_encode_ctl'
./ffmpeg/libavcodec/libavcodec.a(libtheoraenc.o): In function `get_stats':
/root/ffmpeg-source/ffmpeg/libavcodec/libtheoraenc.c:94: undefined reference to `th_encode_ctl'
./ffmpeg/libavcodec/libavcodec.a(libtheoraenc.o): In function `encode_frame':
/root/ffmpeg-source/ffmpeg/libavcodec/libtheoraenc.c:294: undefined reference to `th_encode_ycbcr_in'
/root/ffmpeg-source/ffmpeg/libavcodec/libtheoraenc.c:317: undefined reference to `th_encode_packetout'
/root/ffmpeg-source/ffmpeg/libavcodec/libtheoraenc.c:274: undefined reference to `th_encode_packetout'
./ffmpeg/libavcodec/libavcodec.a(libtheoraenc.o): In function `encode_close':
/root/ffmpeg-source/ffmpeg/libavcodec/libtheoraenc.c:350: undefined reference to `th_encode_free'
./ffmpeg/libavcodec/libavcodec.a(libtheoraenc.o): In function `encode_init':
/root/ffmpeg-source/ffmpeg/libavcodec/libtheoraenc.c:163: undefined reference to `th_info_init'
/root/ffmpeg-source/ffmpeg/libavcodec/libtheoraenc.c:215: undefined reference to `th_encode_alloc'
/root/ffmpeg-source/ffmpeg/libavcodec/libtheoraenc.c:223: undefined reference to `th_info_clear'
/root/ffmpeg-source/ffmpeg/libavcodec/libtheoraenc.c:225: undefined reference to `th_encode_ctl'
/root/ffmpeg-source/ffmpeg/libavcodec/libtheoraenc.c:250: undefined reference to `th_comment_init'
/root/ffmpeg-source/ffmpeg/libavcodec/libtheoraenc.c:252: undefined reference to `th_encode_flushheader'
/root/ffmpeg-source/ffmpeg/libavcodec/libtheoraenc.c:256: undefined reference to `th_comment_clear'
./ffmpeg/libavcodec/libavcodec.a(libvo-aacenc.o): In function `aac_encode_init':
/root/ffmpeg-source/ffmpeg/libavcodec/libvo-aacenc.c:82: undefined reference to `voGetAACEncAPI'
/root/ffmpeg-source/ffmpeg/libavcodec/libvo-aacenc.c:84: undefined reference to `cmnMemAlloc'
/root/ffmpeg-source/ffmpeg/libavcodec/libvo-aacenc.c:85: undefined reference to `cmnMemCopy'
/root/ffmpeg-source/ffmpeg/libavcodec/libvo-aacenc.c:86: undefined reference to `cmnMemFree'
/root/ffmpeg-source/ffmpeg/libavcodec/libvo-aacenc.c:87: undefined reference to `cmnMemSet'
/root/ffmpeg-source/ffmpeg/libavcodec/libvo-aacenc.c:88: undefined reference to `cmnMemCheck'
./ffmpeg/libavcodec/libavcodec.a(libvorbisenc.o): In function `oggvorbis_encode_frame':
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisenc.c:299: undefined reference to `vorbis_analysis_buffer'
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisenc.c:307: undefined reference to `vorbis_analysis_wrote'
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisenc.c:323: undefined reference to `vorbis_analysis_blockout'
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisenc.c:324: undefined reference to `vorbis_analysis'
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisenc.c:326: undefined reference to `vorbis_bitrate_addblock'
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisenc.c:330: undefined reference to `vorbis_bitrate_flushpacket'
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisenc.c:315: undefined reference to `vorbis_analysis_wrote'
./ffmpeg/libavcodec/libavcodec.a(libvorbisenc.o): In function `oggvorbis_encode_close':
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisenc.c:183: undefined reference to `vorbis_analysis_wrote'
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisenc.c:185: undefined reference to `vorbis_block_clear'
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisenc.c:186: undefined reference to `vorbis_dsp_clear'
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisenc.c:187: undefined reference to `vorbis_info_clear'
./ffmpeg/libavcodec/libavcodec.a(libvorbisenc.o): In function `oggvorbis_encode_init':
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisenc.c:207: undefined reference to `vorbis_info_init'
./ffmpeg/libavcodec/libavcodec.a(libvorbisenc.o): In function `oggvorbis_init_encoder':
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisenc.c:101: undefined reference to `vorbis_encode_setup_vbr'
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisenc.c:110: undefined reference to `vorbis_encode_setup_managed'
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisenc.c:117: undefined reference to `vorbis_encode_ctl'
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisenc.c:163: undefined reference to `vorbis_encode_setup_init'
./ffmpeg/libavcodec/libavcodec.a(libvorbisenc.o): In function `oggvorbis_encode_init':
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisenc.c:212: undefined reference to `vorbis_analysis_init'
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisenc.c:218: undefined reference to `vorbis_block_init'
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisenc.c:224: undefined reference to `vorbis_comment_init'
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisenc.c:226: undefined reference to `vorbis_comment_add_tag'
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisenc.c:228: undefined reference to `vorbis_analysis_headerout'
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisenc.c:260: undefined reference to `vorbis_comment_clear'
./ffmpeg/libavcodec/libavcodec.a(libvpxdec.o): In function `vp8_decode':
/root/ffmpeg-source/ffmpeg/libavcodec/libvpxdec.c:68: undefined reference to `vpx_codec_decode'
/root/ffmpeg-source/ffmpeg/libavcodec/libvpxdec.c:80: undefined reference to `vpx_codec_get_frame'
/root/ffmpeg-source/ffmpeg/libavcodec/libvpxdec.c:70: undefined reference to `vpx_codec_error'
/root/ffmpeg-source/ffmpeg/libavcodec/libvpxdec.c:71: undefined reference to `vpx_codec_error_detail'
./ffmpeg/libavcodec/libavcodec.a(libvpxdec.o): In function `vp8_free':
/root/ffmpeg-source/ffmpeg/libavcodec/libvpxdec.c:110: undefined reference to `vpx_codec_destroy'
./ffmpeg/libavcodec/libavcodec.a(libvpxdec.o): In function `vp8_init':
/root/ffmpeg-source/ffmpeg/libavcodec/libvpxdec.c:46: undefined reference to `vpx_codec_version_str'
/root/ffmpeg-source/ffmpeg/libavcodec/libvpxdec.c:47: undefined reference to `vpx_codec_build_config'
/root/ffmpeg-source/ffmpeg/libavcodec/libvpxdec.c:49: undefined reference to `vpx_codec_vp8_dx_algo'
/root/ffmpeg-source/ffmpeg/libavcodec/libvpxdec.c:49: undefined reference to `vpx_codec_dec_init_ver'
/root/ffmpeg-source/ffmpeg/libavcodec/libvpxdec.c:50: undefined reference to `vpx_codec_error'
./ffmpeg/libavcodec/libavcodec.a(libvpxenc.o): In function `vp8_encode':
/root/ffmpeg-source/ffmpeg/libavcodec/libvpxenc.c:521: undefined reference to `vpx_codec_encode'
./ffmpeg/libavcodec/libavcodec.a(libvpxenc.o): In function `queue_frames':
/root/ffmpeg-source/ffmpeg/libavcodec/libvpxenc.c:442: undefined reference to `vpx_codec_get_cx_data'
./ffmpeg/libavcodec/libavcodec.a(libvpxenc.o): In function `vp8_free':
/root/ffmpeg-source/ffmpeg/libavcodec/libvpxenc.c:220: undefined reference to `vpx_codec_destroy'
./ffmpeg/libavcodec/libavcodec.a(libvpxenc.o): In function `log_encoder_error':
/root/ffmpeg-source/ffmpeg/libavcodec/libvpxenc.c:105: undefined reference to `vpx_codec_error'
/root/ffmpeg-source/ffmpeg/libavcodec/libvpxenc.c:106: undefined reference to `vpx_codec_error_detail'
./ffmpeg/libavcodec/libavcodec.a(libvpxenc.o): In function `codecctl_int':
/root/ffmpeg-source/ffmpeg/libavcodec/libvpxenc.c:206: undefined reference to `vpx_codec_control_'
./ffmpeg/libavcodec/libavcodec.a(libvpxenc.o): In function `vp8_init':
/root/ffmpeg-source/ffmpeg/libavcodec/libvpxenc.c:235: undefined reference to `vpx_codec_version_str'
/root/ffmpeg-source/ffmpeg/libavcodec/libvpxenc.c:236: undefined reference to `vpx_codec_build_config'
/root/ffmpeg-source/ffmpeg/libavcodec/libvpxenc.c:238: undefined reference to `vpx_codec_vp8_cx_algo'
/root/ffmpeg-source/ffmpeg/libavcodec/libvpxenc.c:238: undefined reference to `vpx_codec_enc_config_default'
/root/ffmpeg-source/ffmpeg/libavcodec/libvpxenc.c:239: undefined reference to `vpx_codec_err_to_string'
/root/ffmpeg-source/ffmpeg/libavcodec/libvpxenc.c:334: undefined reference to `vpx_codec_enc_init_ver'
/root/ffmpeg-source/ffmpeg/libavcodec/libvpxenc.c:364: undefined reference to `vpx_img_wrap'
./ffmpeg/libavcodec/libavcodec.a(libx264.o): In function `X264_frame':
/root/ffmpeg-source/ffmpeg/libavcodec/libx264.c:156: undefined reference to `x264_picture_init'
/root/ffmpeg-source/ffmpeg/libavcodec/libx264.c:158: undefined reference to `x264_bit_depth'
/root/ffmpeg-source/ffmpeg/libavcodec/libx264.c:176: undefined reference to `x264_encoder_reconfig'
/root/ffmpeg-source/ffmpeg/libavcodec/libx264.c:187: undefined reference to `x264_encoder_encode'
/root/ffmpeg-source/ffmpeg/libavcodec/libx264.c:193: undefined reference to `x264_encoder_delayed_frames'
./ffmpeg/libavcodec/libavcodec.a(libx264.o): In function `X264_init_static':
/root/ffmpeg-source/ffmpeg/libavcodec/libx264.c:538: undefined reference to `x264_bit_depth'
./ffmpeg/libavcodec/libavcodec.a(libx264.o): In function `X264_close':
/root/ffmpeg-source/ffmpeg/libavcodec/libx264.c:228: undefined reference to `x264_encoder_close'
./ffmpeg/libavcodec/libavcodec.a(libx264.o): In function `X264_init':
/root/ffmpeg-source/ffmpeg/libavcodec/libx264.c:281: undefined reference to `x264_param_default'
/root/ffmpeg-source/ffmpeg/libavcodec/libx264.c:289: undefined reference to `x264_param_default_preset'
/root/ffmpeg-source/ffmpeg/libavcodec/libx264.c:302: undefined reference to `x264_param_parse'
./ffmpeg/libavcodec/libavcodec.a(libx264.o):/root/ffmpeg-source/ffmpeg/libavcodec/libx264.c:398: more undefined references to `x264_param_parse' follow
./ffmpeg/libavcodec/libavcodec.a(libx264.o): In function `X264_init':
/root/ffmpeg-source/ffmpeg/libavcodec/libx264.c:437: undefined reference to `x264_param_apply_fastfirstpass'
/root/ffmpeg-source/ffmpeg/libavcodec/libx264.c:440: undefined reference to `x264_param_apply_profile'
/root/ffmpeg-source/ffmpeg/libavcodec/libx264.c:478: undefined reference to `x264_encoder_open_125'
/root/ffmpeg-source/ffmpeg/libavcodec/libx264.c:489: undefined reference to `x264_encoder_headers'
./ffmpeg/libavfilter/libavfilter.a(vf_palette.o): In function `put_image':
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_palette.c:178: undefined reference to `sws_convertPalette8ToPacked32'
./ffmpeg/libavfilter/libavfilter.a(vf_pp.o): In function `vf_open':
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_pp.c:203: undefined reference to `pp_get_mode_by_name_and_quality'
./ffmpeg/libavfilter/libavfilter.a(vf_pp.o):/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_pp.c:203: more undefined references to `pp_get_mode_by_name_and_quality' follow
./ffmpeg/libavfilter/libavfilter.a(vf_pp.o): In function `uninit':
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_pp.c:79: undefined reference to `pp_free_mode'
./ffmpeg/libavfilter/libavfilter.a(vf_pp.o):/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_pp.c:79: more undefined references to `pp_free_mode' follow
./ffmpeg/libavfilter/libavfilter.a(vf_pp.o): In function `uninit':
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_pp.c:81: undefined reference to `pp_free_context'
./ffmpeg/libavfilter/libavfilter.a(vf_pp.o): In function `put_image':
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_pp.c:144: undefined reference to `pp_postprocess'
./ffmpeg/libavfilter/libavfilter.a(vf_pp.o): In function `config':
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_pp.c:69: undefined reference to `pp_free_context'
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_pp.c:70: undefined reference to `pp_get_context'
./ffmpeg/libavfilter/libavfilter.a(vf_sab.o): In function `blur':
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_sab.c:185: undefined reference to `sws_scale'
./ffmpeg/libavfilter/libavfilter.a(vf_sab.o): In function `allocStuff':
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_sab.c:103: undefined reference to `sws_getGaussianVec'
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_sab.c:106: undefined reference to `sws_getContext'
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_sab.c:109: undefined reference to `sws_freeVec'
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_sab.c:110: undefined reference to `sws_getGaussianVec'
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_sab.c:120: undefined reference to `sws_freeVec'
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_sab.c:121: undefined reference to `sws_getGaussianVec'
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_sab.c:135: undefined reference to `sws_freeVec'
./ffmpeg/libavfilter/libavfilter.a(vf_sab.o): In function `freeBuffers':
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_sab.c:155: undefined reference to `sws_freeContext'
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_sab.c:155: undefined reference to `sws_freeContext'
./ffmpeg/libavfilter/libavfilter.a(vf_smartblur.o): In function `freeBuffers':
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_smartblur.c:114: undefined reference to `sws_freeContext'
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_smartblur.c:114: undefined reference to `sws_freeContext'
./ffmpeg/libavfilter/libavfilter.a(vf_smartblur.o): In function `allocStuff':
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_smartblur.c:86: undefined reference to `sws_getGaussianVec'
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_smartblur.c:87: undefined reference to `sws_scaleVec'
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_smartblur.c:91: undefined reference to `sws_getContext'
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_smartblur.c:94: undefined reference to `sws_freeVec'
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_smartblur.c:86: undefined reference to `sws_getGaussianVec'
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_smartblur.c:87: undefined reference to `sws_scaleVec'
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_smartblur.c:91: undefined reference to `sws_getContext'
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_smartblur.c:94: undefined reference to `sws_freeVec'
./ffmpeg/libavfilter/libavfilter.a(vf_smartblur.o): In function `blur':
/root/ffmpeg-source/ffmpeg/libavfilter/libmpcodecs/vf_smartblur.c:136: undefined reference to `sws_scale'
./ffmpeg/libavfilter/libavfilter.a(lswsutils.o): In function `ff_scale_image':
/root/ffmpeg-source/ffmpeg/libavfilter/lswsutils.c:29: undefined reference to `sws_getContext'
/root/ffmpeg-source/ffmpeg/libavfilter/lswsutils.c:45: undefined reference to `sws_scale'
/root/ffmpeg-source/ffmpeg/libavfilter/lswsutils.c:48: undefined reference to `sws_freeContext'
./ffmpeg/libavformat/libavformat.a(udp.o): In function `udp_close':
/root/ffmpeg-source/ffmpeg/libavformat/udp.c:773: undefined reference to `pthread_cancel'
/root/ffmpeg-source/ffmpeg/libavformat/udp.c:774: undefined reference to `pthread_join'
./ffmpeg/libavformat/libavformat.a(udp.o): In function `udp_open':
/root/ffmpeg-source/ffmpeg/libavformat/udp.c:660: undefined reference to `pthread_create'
./ffmpeg/libavcodec/libavcodec.a(libvorbisdec.o): In function `oggvorbis_decode_close':
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisdec.c:183: undefined reference to `vorbis_info_clear'
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisdec.c:184: undefined reference to `vorbis_comment_clear'
./ffmpeg/libavcodec/libavcodec.a(libvorbisdec.o): In function `oggvorbis_decode_frame':
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisdec.c:160: undefined reference to `vorbis_synthesis'
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisdec.c:161: undefined reference to `vorbis_synthesis_blockin'
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisdec.c:166: undefined reference to `vorbis_synthesis_pcmout'
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisdec.c:170: undefined reference to `vorbis_synthesis_read'
./ffmpeg/libavcodec/libavcodec.a(libvorbisdec.o): In function `oggvorbis_decode_init':
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisdec.c:41: undefined reference to `vorbis_info_init'
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisdec.c:42: undefined reference to `vorbis_comment_init'
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisdec.c:93: undefined reference to `vorbis_synthesis_headerin'
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisdec.c:103: undefined reference to `vorbis_synthesis_init'
/root/ffmpeg-source/ffmpeg/libavcodec/libvorbisdec.c:104: undefined reference to `vorbis_block_init'
./ffmpeg/libavcodec/libavcodec.a(pthread.o): In function `frame_thread_free':
/root/ffmpeg-source/ffmpeg/libavcodec/pthread.c:756: undefined reference to `pthread_join'
./ffmpeg/libavcodec/libavcodec.a(pthread.o): In function `thread_free':
/root/ffmpeg-source/ffmpeg/libavcodec/pthread.c:251: undefined reference to `pthread_join'
./ffmpeg/libavcodec/libavcodec.a(pthread.o): In function `frame_thread_init':
/root/ffmpeg-source/ffmpeg/libavcodec/pthread.c:873: undefined reference to `pthread_create'
./ffmpeg/libavcodec/libavcodec.a(pthread.o): In function `thread_init':
/root/ffmpeg-source/ffmpeg/libavcodec/pthread.c:339: undefined reference to `pthread_create'
./ffmpeg/libavcodec/libavcodec.a(frame_thread_encoder.o): In function `ff_frame_thread_encoder_free':
/root/ffmpeg-source/ffmpeg/libavcodec/frame_thread_encoder.c:199: undefined reference to `pthread_join'
./ffmpeg/libavcodec/libavcodec.a(frame_thread_encoder.o): In function `ff_frame_thread_encoder_init':
/root/ffmpeg-source/ffmpeg/libavcodec/frame_thread_encoder.c:174: undefined reference to `pthread_create'
collect2: ld returned 1 exit status
make: *** [test] Error 1

====

Do you guy have experience on that? could you show me a hint how to do it?

Look forward to hearing from you soon,

Thank You,
Chau Pham



 		 	   		  


More information about the ffmpeg-devel mailing list