欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ffmpeg库在VS2017中的编译调试

程序员文章站 2022-03-28 20:21:27
...

最近开始学习ffmpeg,其中参考了ffmpeg****链接:https://pan.baidu.com/s/1Z5M1erSc75TaSyAWjeN18g 密码:cttq,以及ffmpeg开发库在vs环境编译运行的博客文章:http://blog.yundiantech.com/?log=blog&id=7,其实关于ffmpeg使用文章很多,但是大多是早些时期的文章,所以在这里将ffmpeg库最新版本在VS2017下编译运行过程和大家分享,共同学习!

1.首先,需要到ffmpeg官网上下载dev和shared资源,其中dev中包含的是.h头文件和lib库,shared中包含的是dll文件。可根据自己的实际环境下载相应的库。我这里是win64系统,下载ffmpeg最新稳定版本4.0.2。下载地址:https://ffmpeg.zeranoe.com/builds/win64/,下载好的文件目录如下图:

ffmpeg库在VS2017中的编译调试

ffmpeg库在VS2017中的编译调试

2.打开VS2017创建新项目,这里就不赘述了,将上图中ffmpeg-4.0.2-win64-dev文件夹下lib文件夹和include文件夹复制到新建的项目目录下,新建源文件示例代码如下:

#include <iostream>
using namespace std;

extern "C"
{
#include "include/libavcodec/avcodec.h"
#include "include/libavformat/avformat.h"
#include "include/libswscale/swscale.h"
#include "include/libavdevice/avdevice.h"
}
///由于我们建立的是C++的工程
///编译的时候使用的C++的编译器编译
///而FFMPEG是C的库
///因此这里需要加上extern "C"
///否则会提示各种未定义

int main()
{
	//这里简单的输出一个版本号
	cout << "Hello FFmpeg!" << endl;
	av_register_all();
	unsigned version = avcodec_version();
	cout << "version is:" << version;
	return 0;
}

3.配置头文件和依赖库路径

右键项目-属性-配置属性-C/C++-常规-附加包含目录:添加include文件夹路径,即包含头文件目录;右键项目-属性-配置属性-链接器-常规-附加库目录:添加lib文件夹路径,即定位lib库;右键项目-属性-配置属性-链接器-输入-附加依赖项:添加lib文件名。

4.在VS2017中调试运行程序,跳出窗口提示“无法启动此程序,因为计算机中丢失...”,这时候需要将ffmpeg-4.0.2-win64-shared文件夹中bin目录下的所有dll文件复制到项目exe文件所属目录下(一般在解决方案--x64-debug目录下),再次回到VS中调试运行,就不会出错了。