参考雷神博客
FFMPEG4.1版本
#include <stdio.h>
extern "C"
{
#include <libavutil/log.h>
};
int main(int argc, char** argv)
{
av_log_set_level(AV_LOG_DEBUG);
av_log(NULL, AV_LOG_INFO, "Hello World!\n");
return 0;
}
报错:
1>FFMPEG.cpp
1>H:\Document\Typora\FFmpeg\vcpkg-master\vcpkg-master\installed\x86-windows\include\libavutil\common.h(30,1): fatal error C1189: #error: missing -D__STDC_CONSTANT_MACROS / #define __STDC_CONSTANT_MACROS
1>已完成生成项目“FFMPEG.vcxproj”的操作 - 失败。
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
点击错误,查看源码:
#if defined(__cplusplus) && !defined(__STDC_CONSTANT_MACROS) && !defined(UINT64_C)
#error missing -D__STDC_CONSTANT_MACROS / #define __STDC_CONSTANT_MACROS
#endif
报错,提示我们缺少__STDC_CONSTANT_MACROS的定义,直接添加该宏:
修改后:
#include <stdio.h>
extern "C"
{
#define __STDC_CONSTANT_MACROS
#include <libavutil/log.h>
};
int main(int argc, char** argv)
{
av_log_set_level(AV_LOG_DEBUG);
av_log(NULL, AV_LOG_INFO, "Hello World!\n");
return 0;
}
==注意:#define __STDC_CONSTANT_MACROS语句必须放在FFMPEG相关文件声明之前。