linux 卸载ffpeg,Ubuntu上编译ffmpeg相关命令

本文详细介绍了在Ubuntu系统中卸载ffmpeg的步骤,包括使用`sudo apt-get remove --purge ffmpeg`命令。同时,针对编译过程中遇到的结构体不存在错误,提供了修改`config.h`文件的解决办法,并给出了ffmpeg的配置命令示例。此外,还提到了查看系统架构、GCC版本以及安装build-essential套件的方法,以帮助用户顺利完成ffmpeg的编译过程。
摘要由CSDN通过智能技术生成

一、卸载ffmpeg

ffmpeg安装在/usr/local/目录下

sudo mv /usr/local/bin/ffmpeg /usr/local/bin/ffmpeg_old

使用sudo apt-get remove --purge ffmpeg

二、报错:error: request for member 's_addr' in something not a structure or union mreqs.imr_multiaddr.s_addr = ((struct sockaddr_in *)addr)->sin_addr.s_addr;

很明显不存在 ip_mreq_source 这个结构体, 在编译的时候把 HAVE_STRUCT_IP_MREQ_SOURCE 设置成 0 即可。

我猜测新版的 FFmpeg 是使用 clang 编译的, 新版的 FFmpeg 里使用了 这个结构体, 但是现在使用的是 gcc 编译的。 编译系统中 gcc 没有这个结构体。 当然使用了 clang 就不会出现这个问题。说明新版本增加了新的内容, 老版本可能会没有, 这也说明了新的肯定是兼容老的, 但老的不可能有新版本的新内容

错入方式如下:

sed -i '' 's/HAVE_STRUCT_IP_MREQ_SOURCE 1/HAVE_STRUCT_IP_MREQ_SOURCE 0/g' config.h

正确写法

sed -i 's/HAVE_LRINT 1/HAVE_LRINT 0/g' config.h

修改config

./configure --disable-static --enable-shared --enable-gpl --enable-version3 --enable-no

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值