ffmpeg(1)之libavutil/common.h:30:2: error: missing -D__STDC_CONSTANT_MACROS / #define __STDC_CONSTANT_MACROS
阅读原文时间:2023年07月10日阅读:1
  • 编译环境: mac osx 10.14 + cmake + clang++

  • 写了一个简单c++的范例调用ffmpeg函数完成音频采集

    [build] /usr/local/ffmpeg/include/libavutil/common.h:30:2: error: missing -D__STDC_CONSTANT_MACROS / #define __STDC_CONSTANT_MACROS
    [build] #error missing -D__STDC_CONSTANT_MACROS / #define __STDC_CONSTANT_MACROS
    [build] ^
    [build] 1 error generated.
    [build] make[2]: *** [CMakeFiles/ffmpeg_demo.dir/example/main.cc.o] Error 1
    [build] make[1]: *** [CMakeFiles/ffmpeg_demo.dir/all] Error 2

  • clang 提示的很明显: 需 定义宏 __STDC_CONSTANT_MACROS

  • 引文ffmpeg库中的函数是C语言,而我是用的c++调用。

  • __STDC_CONSTANT_MACROS 一定要放在 include 之前

    #define __STDC_CONSTANT_MACROS
    extern "C"{
    #include "/usr/local/ffmpeg/include/libavutil/log.h"
    #include
    #include
    }

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章