ffmpeg库在VS2017中的编译调试
最近开始学习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/,下载好的文件目录如下图:
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中调试运行,就不会出错了。