出现这种问题的意思就是找不到avcodec_version的定义,
原因有很多种,主要分为以下几种:
环境变量配置有问题,建议重新检查一遍文件路径是否存在错误
如果将include、dll、lib文件存放到qt项目文件中也可以,只不过配置环境变量的话以后创建项目会更加方便
如果你的qt版本是32位,下载的FFmpeg是64位,则可能识别不了函数
在这里我提供了64位和32位的FFmpeg下载链接
32位链接: https://pan.baidu.com/s/1wBAv6yYYa_9n64wzmHdO2w
提取码:0703
64位链接: https://pan.baidu.com/s/1aEHWpbTQkhVA30KtfviYjA
提取码:0703
因为ffmpeg是采用c语言实现的 所以QT c++工程种 需要导入c语言
extern "C"
{
//avcodec:编解码(最重要的库)
#include
//avformat:封装格式处理
#include
//swscale:视频像素数据格式转换
#include
//avdevice:各种设备的输入输出
#include
//avutil:工具库(大部分库都需要这个库的支持)
#include
}
没有在.pro文件添加ffmpeg路径也可能导致找不到avcodec_version函数
INCLUDEPATH +=$$PWD/ffmpeg/include
LIBS += $$PWD/ffmpeg/lib/avcodec.lib \
$$PWD/ffmpeg/lib/avfilter.lib \
$$PWD/ffmpeg/lib/avformat.lib \
$$PWD/ffmpeg/lib/avutil.lib \
$$PWD/ffmpeg/lib/postproc.lib \
$$PWD/ffmpeg/lib/swresample.lib \
$$PWD/ffmpeg/lib/swscale.lib
PWD就是当前目录,路径根据自己文件名字修改
配置FFmpeg时,qDebug()< 需要将你的ffmpeg文件复制到QT的项目工程文件中 亲测有效,如果还是有问题的话,可以评论区留言没有在debug文件里面存放dll库
打开下载的ffmpeg文件,打开bin文件

将所有的文件复制到debug项目文件中
为以防万一,我把ffmpeg文件也复制到debug文件了

再次qDebug() avcodec_version函数,已经不会再出现程序异常退出的情况
