Arm平台集成FFmpeg编译动态库库时av_make_error_string错误的解决方法

在Ubuntu 16.04 LTS和arm-linux 4.8.5环境下,编译FFmpeg 3.4.2动态库时遇到av_err2str宏定义问题。该问题因动态分配内存导致编译失败。解决方案是将char[AV_ERROR_MAX_STRING_SIZE]提取为静态变量,例如static char[AV_ERROR_MAX_STRING_SIZE]{0},从而避免重复定义。然而,这种方法可能造成内存消耗,直到程序结束才释放。目前尚未找到更优解。
摘要由CSDN通过智能技术生成

编译环境

  • Linux: ubuntu 16.04 LTS
  • arm-linux: 4.8.5
  • FFmpeg: 3.4.2
  • C++: std=c++11

情况描述

  • 个人制作动态库需要集成FFmpeg,其中会使用到FFmpeg的转化错误提示接口av_err2str,其实它是如下宏定义:
#define av_err2str(errnum) \    
av_make_error_string((char[AV_ERROR_MAX_STRING_SIZE]){
   0}, AV_ERROR_MAX_STRING_SIZE, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值