FFMPEG库移植到VS和QT下使用经验

目录

0 ffmpeg版本

1 VS2013上运行最简单的FFMPEG工程

2 Qt5.7.0上运行最简单的FFMPEG工程

3 移植到qt和vs后的简单参考工程


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

3 移植到qt和vs后的简单参考工程


 https://github.com/liyi6/ffmpeg-study-test

猜你喜欢

转载自blog.csdn.net/ice_ly000/article/details/88430284
今日推荐