VS2013 Qt中配置使用FFMpeg

2 篇文章 1 订阅
1 篇文章 0 订阅

参考:https://blog.csdn.net/huangqi734044860/article/details/60956995

开发版本VS2013 + Qt5.8,主要是为了使用VS开发Qt中使用FFmpeg,

并记录下配置FFMpeg中遇到的一些问题,方便以后查阅。

首先要下载FFMpeg,我这里下载的是2.5.2版本,打开压缩包后有三个文件夹

传送门:https://download.csdn.net/download/qq_36131739/10357076

解压ffmpeg-2.5.2-win32-dev.7z, 保留include 和 lib即可,其它删除不用

好了,接下去就开始配置吧。

1. 打开VS,新建一个Qt项目。

2.右击项目选择属性->配置属性->C/C++->常规->附加包含目录,如图所示

选择编辑这个目录,

这里编辑完成确定后,选择链接器->常规->附加库目录,并把lib目录添加到这里,如图所示。

基本的配置就差不多好了(其实还没好,后面会遇到这个问题)。

3.编写测试代码。

在main函数中添加如下代码:

extern "C"
{
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
#include "libswscale/swscale.h"
#include "libavdevice/avdevice.h"
}

using namespace std;

int main(int argc, char *argv[])
{
	QApplication a(argc, argv);

	//测试FFmpeg,打印版本信息
	cout << "Hello FFmpeg!" << endl;
	av_register_all();
	unsigned version = avcodec_version();
	cout << "version is:" << version;

	//Qt的窗口
	VideoPlayerVS w;
	w.show();
	return a.exec();
}

4.运行后出现如下错误:

无法解析的外部符号 _avcodec_version
无法解析的外部符号 _av_register_all

解决方法:右击项目,选择属性->链接器->输入->附件依赖项, 编辑依赖项,弹出如下窗口

在其后添加如下这些lib文件。

avcodec.lib
avdevice.lib
avfilter.lib
avformat.lib
swscale.lib

swresample.lib

保存后再次运行.

5.又出现错误,error LNK2026: 模块对于 SAFESEH 映像是不安全的。

解决方法:右击项目,选择链接器->命令行,在其它选项中输入如下字符串:/SAFESEH:NO 

保存。重新运行。

6.再次出现错误,丢失avcodec-56.dll

解决方法:打开刚才下载的FFmpeg压缩包中的ffmpeg-2.5.2-win32-shared.7z文件夹,进入bin文件夹,把里面所有内容copy到工程目录下的Debug目录,如下所示:

好了,再次运行就可以弹出一个窗体了~等等...打印的信息去哪了???

OK,因为这里默认只弹出Qt编写的窗体,打印信息的黑窗口并没有出现,可以设置为两个都出现。

方法:右击项目,属性->链接器->系统->子系统选择控制台。保存

大功告成,可以在VS版Qt中愉快的使用FFmpeg了!

End

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值