FFMPEG undefined reference `x264_encoder_open_146'

标签 ffmpeg centos x264

使用以下模块配置 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/

相关文章:

android - 使用 AMR 解码编译 ffmpeg

c - “C”程序将音频文件输出到 FFMPEG 并生成视频文件

Java 1.8 安全点超时

c - 无法将 libavformat/ffmpeg 与 x264 和 RTP 同步

android - 如何使用 android 的线程支持编译 ffmpeg 和 x264?

python - Celery 处理任务并修改模型字段

python-3.x - 将ffmpeg持续时间值转换为秒的Python代码

c++ - 错误 : `boost' has not been declared

mysql - CentOS HTTPD 和 MySql 不想启动

用于 ffmpeg 的 android hw h264 编码器(x264?)