使用以下模块配置 FFMPEG 时显示错误,
# ./configure --enable-shared --enable-shared --enable-nonfree --enable-gpl --enable-pthreads --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libfaac --enable-libmp3lame --enable-libtheora --enable-libvorbis --extra-libs=-lx264 --enable-libxvid --extra-cflags=-I/usr/local/cpffmpeg/include/ --extra-ldflags=-L/usr/local/cpffmpeg/lib --enable-version3 --extra-version=syslin --enable-libass --enable-libvpx --enable-zlib --extra-ldflags=-L/usr/local/lib --enable-libx264
CC ffmpeg_filter.o LD ffmpeg_g libavcodec/libavcodec.so: undefined reference to `x264_encoder_open_146' collect2: ld returned 1 exit status make: **** [ffmpeg_g] Error 1
我找到了lib文件,
# ls /usr/local/lib | grep libx264
libx264.a
libx264.so@
libx264.so.144*
libx264.so.146*
如何修复它。?
最佳答案
终于找到了解决办法
可能是包安装版本冲突,
找到已安装的软件包并将其删除,
# rpm -qa | grep x264
x264-0.0.0-0.4.20101111.el6.rf.x86_64
通过 rpm 删除 libx264,
# rpm -e x264-0.0.0-0.4.20101111.el6.rf.x86_64
确保以下软件包已安装在您的系统中,如果它不可用,请安装
# yum install ffmpeg ffmpeg-devel ffmpeg-libpostproc
然后,安装 x264 devel 和 x264 包,
# yum install x264-devel x264
现在,通过 git 下载 x264 包并安装,
# cd /usr/local/src
# git clone git://git.videolan.org/x264.git
# cd x264
# ./configure --enable-shared --enable-asm
# make && make install
现在,您可以尝试再次配置 FFMPEG。
关于FFMPEG undefined reference `x264_encoder_open_146',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31585808/