前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ffmpeg之QT开发环境搭建

ffmpeg之QT开发环境搭建

作者头像
Gnep@97
发布2023-11-29 10:27:43
4210
发布2023-11-29 10:27:43
举报
文章被收录于专栏:Gnep's_Technology_Blog

前言

之前我们进行了 FFmepg 的编译以及在 Visual Studio 中引用 FFmpeg 库:FFmpeg入门及编译,本文记录在 QT 环境中搭建 FFmepg 工程。

QT 环境的安装这里不再赘述了,网上资源很多。


ffmpeg+QT开发环境搭建

1、新建 QT 工程

2、拷贝所需的 lib 文件和头文件

将之前编译的 lib 文件以及整个 include 目录下的文件拷贝到 QT 项目目录下

如下图所示:

2、拷贝所需的 dll 动态库文件

然后将之前编译的 bin 文件加的所有 .dll 动态库复制到 qt 编译后的 debug文件夹下。

如下图所示:

3、修改 QT 项目的主配置文件 (.pro 文件)

修改 QT 项目的主配置文件 (.pro 文件),指定头文件及 lib 库文件路径,新增下面内容:

代码语言:javascript
复制
INCLUDEPATH += $$PWD/include

LIBS += $$PWD/lib/avcodec.lib  \
        $$PWD/lib/avdevice.lib  \
        $$PWD/lib/avfilter.lib  \
        $$PWD/lib/avformat.lib  \
        $$PWD/lib/avutil.lib  \
        $$PWD/lib/swresample.lib  \
        $$PWD/lib/swscale.lib

4、验证测试

以打印 av_version_info 的版本作为测试方法,将下面的程序复制到 main.cpp 中

代码语言:javascript
复制
```c

#include "mainwindow.h"

#include <QApplication>

#include <QDebug> // 利用打印函数

// ffmpeg 是纯 C 语言的代码,在 C++ 当中不能直接进行 include

extern "C" {

#include <libavcodec/avcodec.h>

}

int main(int argc, char *argv[])

{

代码语言:txt
复制
qDebug() << "av version is:"<< av_version_info();
代码语言:txt
复制
QApplication a(argc, argv);
代码语言:txt
复制
MainWindow w;
代码语言:txt
复制
w.show();
代码语言:txt
复制
return a.exec();

}

代码语言:txt
复制

5、解决运行时的报错

运行时出现了如下报错:

D:\Project\Qt_Project\build-ffmpeg_test-Desktop_Qt_5_14_2_MinGW_32_bit-Debug/…/ffmpeg_test/main.cpp:15: undefined reference to `av_version_info’ collect2.exe: error: ld returned 1 exit status mingw32-make1: *** Makefile.Debug:72: debug/ffmpeg_test.exe Error 1

最后找到原因:原来是项目选择了 32 位的构建套件,而 FFmpeg 库是 64 位的!将项目改为 64 位后终于解决。

运行成功界面如下,会打印出:av version is: N-112010-g1a87a9d82a


本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-11-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • ffmpeg+QT开发环境搭建
    • 1、新建 QT 工程
      • 2、拷贝所需的 lib 文件和头文件
        • 2、拷贝所需的 dll 动态库文件
          • 3、修改 QT 项目的主配置文件 (.pro 文件)
            • 4、验证测试
              • 5、解决运行时的报错
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档