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