VS2019配置ffmpeg4.4动态库和Qt5.9详细图文教程

博主的环境是win10 64 + VS2019 Debug X64 + ffmpeg-4.4-full_build-shared + Qt5.9.9(QtCreator4.11.0)

一、ffmpeg环境搭建

1.1下载ffmpeg-4.4-full_build-shared.7z

下载链接:Builds - CODEX FFMPEG @ gyan.dev

 1.2拷贝对应文件到工程目录下

下载后解压,将bin目录下所有*.dll拷贝到可执行目录下,同时include和lib拷贝到工程目录下,如下图所示:

1.3配置VS2019工程项目

【项目】——【属性】——【C/C++】——【常规】——【附加包含目录】

【项目】——【属性】——【C/C++】——【常规】——【SDL检查】

 【项目】——【属性】——【链接器】——【常规】——【附加库目录】

 【项目】——【属性】——【链接器】——【常规】——【附加依赖项】

加入lib库如下所示:

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

 1.4配置好后,在main.cpp加入如下代码:

#include extern "C"
{#include "libavformat/avformat.h"
}int main()
{av_register_all();system("pause");std::cout << "Hello World!\n";
}

1.5编译结果

编译没报错,运行也正常,说明关联库成功。

二、配置vs2019上调用qt库

2.1下载qt嵌入vs2019的插件

【扩展】——【管理扩展】,右上角搜qt,然后下载插件Qt Visual Studio Tools

 2.2下载好后,点击如下

【扩展】——【Qt VS Tools】——【Options】,右上角搜qt,然后下载插件Qt Visual Studio Tools

 版本选择自己安装的版本,博主安装的是5.9.9,path路径是选D:\Qt\Qt5.9.9\5.9.9\msvc2017_64\bin\qmake.exe  ,如下图所示:

 2.3此时qt在vs2019中的插件安装好了,可以创建qt widget项目

先搜qt,然后选择Qt Widgets Application创建,接着除了选QWidget工程外,一路默认即可。

 2.4创建完vs2019的qt工程,发现#include "ui_ffmpeg3.h"关联错误,此时C++17标准可消除

【配置属性】——【常规】——【C++语言标准】,选“ISO C++17 标准 (/std:c++17)”。

 2.5此时打开UI界面发现闪退,可以将UI界面默认用QtCreator打开即可

即如下配置:

【右键ffmpeg.ui文件】——【打开方式】,在弹出框中选【添加】——【程序】,选择Qt安装Tools目录下的QtCreator目录下qtcreator.exe文件,即D:\Qt\Qt5.9.9\Tools\QtCreator\bin\qtcreator.exe,接着将其设置为默认打开即可。不过这好像也个弊端,就是不能通过UI界面在代码中创建槽函数。

 

 

 

至此,只需要将ffmpeg配置方式再在新创建的Qt工程配置一遍即可使用win10 64 + VS2019 Debug X64 + ffmpeg-4.4-full_build-shared + Qt5.9.9(QtCreator4.11.0)愉快的码代码了  ^_^。 

下面是博主测试的一个简单demo

三、VS2019 + Qt5.9.9 + ffmpeg4.4简单demo

3.1VS2019创建一个Qt Widget工程ffmpeg3

按照上述内容配置一遍ffmpeg,然后在UI界面拖入一个文本浏览器和按钮,如下图所示:

 3.2 ffmpeg3.h、ffmpeg3.cpp、main.cpp三个文件代码

ffmpeg3.h

#pragma once#include 
#include "ui_ffmpeg3.h"class ffmpeg3 : public QWidget
{Q_OBJECTpublic:ffmpeg3(QWidget *parent = Q_NULLPTR);private:Ui::ffmpeg3Class ui;
};

ffmpeg3.cpp

#include "ffmpeg3.h"
#include //#pragma  comment(lib,"avcodec.lib")
//#pragma  comment(lib,"avdevice.lib")
//#pragma  comment(lib,"avfilter.lib")
//#pragma  comment(lib,"avformat.lib")
//#pragma  comment(lib,"avutil.lib")
//#pragma  comment(lib,"postproc.lib")
//#pragma  comment(lib,"swresample.lib")
//#pragma  comment(lib,"swscale.lib")extern "C"
{
#include "libavformat/avformat.h"
}ffmpeg3::ffmpeg3(QWidget *parent): QWidget(parent)
{ui.setupUi(this);av_register_all();ui.textBrowser->setText(avcodec_configuration());
}

main.cpp

#include "ffmpeg3.h"
#include int main(int argc, char *argv[])
{QApplication a(argc, argv);ffmpeg3 w;w.show();return a.exec();
}

3.3程序运行结果

 由上所指,win10 64 + VS2019 Debug X64 + ffmpeg-4.4-full_build-shared + Qt5.9.9(QtCreator4.11.0)环境配置好了。

完结,散花 ~_~ 。

四、参考连接

VS2019 c++配置FFmpeg

VS2019集成Qt


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部