|
编译ffmpeg的问题,不知道有人遇到过没有。
gcc -Wl,--warn-common -rdynamic -g -o ffmpeg_g ffmpeg.o cmdutils.o -L./libavformat -lavformat -L./libavcodec -lavcodec -L./libavutil -lavutil -lm -lz -ldl
./libavcodec/libavcodec.so: undefined reference to `x264_encoder_close'
./libavcodec/libavcodec.so: undefined reference to `x264_param_default'
./libavcodec/libavcodec.so: undefined reference to `lame_set_brate'
./libavcodec/libavcodec.so: undefined reference to `xvid_global'
./libavcodec/libavcodec.so: undefined reference to `lame_init'
./libavcodec/libavcodec.so: undefined reference to `x264_encoder_headers'
./libavcodec/libavcodec.so: undefined reference to `lame_encode_flush'
./libavcodec/libavcodec.so: undefined reference to `x264_nal_encode'
./libavcodec/libavcodec.so: undefined reference to `lame_set_VBR'
./libavcodec/libavcodec.so: undefined reference to `lame_set_out_samplerate'
./libavcodec/libavcodec.so: undefined reference to `x264_encoder_open'
./libavcodec/libavcodec.so: undefined reference to `lame_set_in_samplerate'
./libavcodec/libavcodec.so: undefined reference to `x264_encoder_encode'
./libavcodec/libavcodec.so: undefined reference to `xvid_plugin_single'
./libavcodec/libavcodec.so: undefined reference to `lame_set_num_channels'
./libavcodec/libavcodec.so: undefined reference to `lame_init_params'
./libavcodec/libavcodec.so: undefined reference to `lame_set_mode'
./libavcodec/libavcodec.so: undefined reference to `lame_get_framesize'
./libavcodec/libavcodec.so: undefined reference to `xvid_plugin_2pass2'
./libavcodec/libavcodec.so: undefined reference to `lame_set_VBR_q'
./libavcodec/libavcodec.so: undefined reference to `lame_set_bWriteVbrTag'
./libavcodec/libavcodec.so: undefined reference to `xvid_encore'
./libavcodec/libavcodec.so: undefined reference to `lame_set_quality'
./libavcodec/libavcodec.so: undefined reference to `xvid_plugin_lumimasking'
./libavcodec/libavcodec.so: undefined reference to `lame_encode_buffer_interleaved'
./libavcodec/libavcodec.so: undefined reference to `lame_encode_buffer'
./libavcodec/libavcodec.so: undefined reference to `lame_close'
collect2: ld 返回 1
make: *** [ffmpeg_g] 错误 1
以上是make的最后几行,之前已经把lame, xvid, x264都编译安装好了,一开始放在默认目录里,执行了ldconfig
ffmpeg的configure:
./configure --enable-shared --disable-static --enable-memalign-hack --disable-strip --enable-gpl --enable-xvid --enable-x264 --enable-mp3lame --extra-libs=-lpthread --extra-libs=-lm --extra-ldflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib
就是上面的错误
后来干脆把那三个编码器编译时prefix都设成了/usr
然后ffmpeg的configure:
./configure --enable-shared --enable-memalign-hack --enable-gpl --enable-xvid --enable-x264 --enable-mp3lame --extra-libs=-lpthread --extra-libs=-lm --prefix=/usr
错误还是一样。
我用的是fedora4。。 |
|