Qt框架使用ffmpeg库报错

Using ffmpeg library with Qt framework results in error

当我包括:

extern "C" {
#include <libavcodec/avcodec.h>
}

我收到错误:

undefined reference to QVideoSurfaceFormat::QVideoSurfaceFormat(QSize const&, QVideoFrame::AVPixelFormat, QAbstractVideoBuffer::HandleType)

没有包含 - 构建成功。

我猜 include 带来了一些破坏 QVideoSurfaceFormat 定义的定义。
有人遇到过类似的问题吗?

#define __STDC_CONSTANT_MACROS // to fix #include <stdint.h> issue
extern "C" {
#include <libavcodec/avcodec.h>
#include <libavformat/avformat.h>
#include <libswscale/swscale.h>
}

阅读 stdint.h 和网络上的相关主题后,找到了适合我的解决方案:

#define __STDC_CONSTANT_MACROS