目录
0 ffmpeg版本
版本 ffmpeg 4.1
时间 2019年3月11
准备:http://ffmpeg.zeranoe.com/builds/网站上
下载Dev版本,里面包含了ffmpeg的xxx.h头文件以及xxx.lib库文件。
下载Shared版本,里面包含了ffmpeg的dll文件。
1 VS2013上运行最简单的FFMPEG工程
1. 拷贝Dev版本中的头文件,lib文件,Shared版本中的dll动态库到vs测试工程目录下
2. 配置vs工程的属性(就像使用其他第三方库方式一样),具体如下:
右键项目-属性-配置属性-C/C++-常规-附加包含目录:添加include文件夹路径,即包含头文件目录;
右键项目-属性-配置属性-链接器-常规-附加库目录:添加lib文件夹路径,即定位lib库;
右键项目-属性-配置属性-链接器-输入-附加依赖项:添加lib文件名。
所有ffmpeg dll文件应该放在vs工程的工程文件目录,即xxx..vcxproj文件相同的目录
3. 如上配置即可,不需要添加其他任何步骤或者其他文件,雷神文章 FFMPEG 库移植到 VC 需要的步骤 中提到的步骤都不是必须的,应该是早期的ffmpeg配置方式。
4. 由于ffmpeg是c语言库,因此在c++代码中引用ffmpeg库的头文件时,一定要使用
#ifdef __cplusplus
extern "C" {
#endif
#include "libavformat/avformat.h"
............
#ifdef __cplusplus
}
#endif
2 Qt5.7.0上运行最简单的FFMPEG工程
1. 拷贝Dev版本中的头文件,lib文件,Shared版本中的dll动态库到QT测试工程目录下
2. 在qt的pro文件中添加对lib库的依赖,添加头文件引用路径,例:注意例子中的$$PWD是pro文件所在目录,lib文件和头文件取相对路径就行。
LIBS += $$PWD/../../ffmpge-lib/lib/*.lib
INCLUDEPATH += $$PWD/../../ffmpge-lib/include
3. Shared版本中的dll动态库拷贝到程序生成目录下。
4.同vs工程:由于ffmpeg是c语言库,因此在c++代码中引用ffmpeg库的头文件时,一定要使用
#ifdef __cplusplus
extern "C" {
#endif
#include "libavformat/avformat.h"
............
#ifdef __cplusplus
}
#endif