萌新Qt+VS+FFmpeg开发环境准备

初用qt.本来是做unity的 一堆坑 记录一下吧.

 

qt+vs环境就不说了,网上一堆,主要是和FFmpeg结合.

首先下载ffmpeg的库

https://github.com/BtbN/FFmpeg-Builds/releases下载完的文件

 

下载好后.我们新建一个qt项目,新建一个文件夹,把下好的文件放进去

然后我们引入一下头文件(c的库要加extern "C"),发现报错

要在项目属性里的附加目录加上ffmpeg的头文件夹

 

报错解决.

我们打印下ffmpeg的版本信息,验证是否可用

 

#include "YHPlayer_Main.h"
#include <QtWidgets/QApplication>
#include <iostream>

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

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    YHPlayer_Main w;
    w.show();

    unsigned version = avcodec_version();
    cout << "version is:" << version;

    return a.exec();
}

 哦豁,继续报错,无法启动程序,系统找不到指定文件

无法解析的外部符号

 

 

 找不到方法,我们要在项目属性里-链接器-附加库目录把ffmpeg的库目录加上去

再次运行!还是不行,我们还要在链接器-输入-附加依赖项把库写入进去

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

再次运行,之前的报错没有了,现在提示 由于找不到avodec-59.dll,无法继续执行代码,重新安装程序可能会解决此问题 

 

 然后我们需要把下载的ffmpeg库里的bin文件夹里的所有文件,拷贝到我们项目的运行文件夹里,就ok了.

再次运行!成功.

 

不过没有打印信息,没有打印窗口

我们需要在项目属性-链接器-系统-子系统里,把窗口改成控制台,就可以了

 

 总结:用习惯unity+c#的我,第一次使用qt都搞得头昏脑涨了,各种东西要设置,不像unity那样开箱即用,写代码也非常舒服,公司项目需要做一个音视频软件,需要同步局域网内的视频播放等等,unity不好实现+性能太差了.没办法只能学习一下qt.继续加油!

如果有大佬实现过局域网内视频同步的,麻烦联系一下我,有偿

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值