zoukankan      html  css  js  c++  java
  • 关于 ffmpeg ‘UINT64_C’ was not declared in this scope 的错误

    ffmpeg 默认是用C文件来编译的,如果某个CPP文件想引用ffmpeg中的某些函数或者头文件,有可能出现

    ‘UINT64_C’ was not declared in this scope的错误

    情形大概如下

    The same issue i'm getting here when compiling chromium with ffmpeg from svn:

    In file included from /usr/include/libavutil/avutil.h:81:0,

    from /usr/include/libavcodec/avcodec.h:30,                

     from out/Release/obj.target/geni/ffmpeg_stubs.cc:16:

    /usr/include/libavutil/common.h: In function 'int32_t av_clipl_int32(int64_t)':

    /usr/include/libavutil/common.h:154:47: error: 'UINT64_C' was not declared in this scope

    make: *** [out/Release/obj.target/geni/ffmpeg_stubs.o] Error 1

    方法1.

    可以 在cpp文件中加入

    extern "C"{

    #ifdef __cplusplus
     #define __STDC_CONSTANT_MACROS
     #ifdef _STDINT_H
      #undef _STDINT_H
     #endif
     # include <stdint.h>
    #endif

    }

    来解决

    已可以在 Android.mk 中添加

    LOCAL_CFLAGS += -D__STDC_CONSTANT_MACROS=1

  • 相关阅读:
    Python调用C++的DLL
    Go-map
    Go-切片
    Go-数组
    Go-流程控制
    Go-运算符
    Go-变量和常量
    Go-VS Code配置Go语言开发环境
    Go-跨平台编译
    Go-从零开始搭建Go语言开发环境
  • 原文地址:https://www.cnblogs.com/soniclq/p/2573140.html
Copyright © 2011-2022 走看看