吐血记录基于Qt+ffmpeg+SDL的播放器环境配置

环境配置

1.官网下载ffmpeg和SDL的压缩包。https://www.gyan.dev/ffmpeg/builds/
2.先对ffmpeg环境配置:

在这里插入图片描述

其中include文件里边是需要用到的头文件,lib文件里边是需要使用的库文件。

我们使用Qt创建一个工程,接下来将上面的include文件夹和lib文件夹拷贝到工程目录下。

在这里插入图片描述

接下来到pro文件中添加库依赖:

#语法是 LIBS+= -L直接打地址 -l直接打库名,$$PWD则表示的是当前路径。
INCLUDEPATH += $$PWD/include
#ffmpeg
LIBS += -L$$PWD/lib/ -lavcodec
LIBS += -L$$PWD/lib/ -lavdevice
LIBS += -L$$PWD/lib/ -lavfilter
LIBS += -L$$PWD/lib/ -lavformat
LIBS += -L$$PWD/lib/ -lavutil
LIBS += -L$$PWD/lib/ -lpostproc
LIBS += -L$$PWD/lib/ -lswresample
LIBS += -L$$PWD/lib/ -lswscale
#SDL库依赖    
LIBS += -L$$PWD/lib/ -lSDL2
LIBS += -L$$PWD/lib/ -lSDL2main
LIBS += -L$$PWD/lib/ -lSDL2test

先进行项目构建,最后将ffmpeg文件夹下的bin目录中的.dll文件拷贝到运行目录(debug目录)下。

3.再对SDL进行环境配置:

解压SDL包后如图所示:

在这里插入图片描述

将inlcude文件夹拷贝到工程目录中的inlude文件夹下,并改名为SDL2(方便后续引入头文件),如图:

在这里插入图片描述

同理,将SDL中的lib文件夹下的x64文件夹(我的系统是64位)下的多个.lib文件拷贝到工程目录的lib文件夹中:

在这里插入图片描述

接下来到pro文件中添加库依赖:如上面代码所示。

最后将lib/x64文件夹下的SDL2.dll拷贝到运行目录(debug目录)下。

最后在工程中引入头文件需注意:

extern "C"//需要按照c的方式进行编译头文件
{
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
#include "libswresample/swresample.h"
#include "libswscale/swscale.h"
#include "libavutil/imgutils.h"
#include "SDL2/SDL.h"
}
extern "C"{
  #undef main//必须在main文件添加,否则报错一大堆。用于区分QT的main函数入口和SDL2的main函数入口
}
遇到的坑:

1.将SDL2.dll加入debug文件后,运行依旧提示“无法找到SDL2.dll”错误:

解决办法:检查SDL2.dll文件是否存在于正确的位置。可以尝试将SDL2.dll文件复制到系统路径(如C:\Windows\System32)或Qt安装目录下的bin文件夹中。

2.记得在main文件加入#undef mian,这样才行。

3.版本问题,计算机系统位数必须与ffmpeg和SDL对应,否则会出现环境配置失败。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值