您的位置:首页 > 产品设计 > UI/UE

ffmpeg: 'UINT64_C' was not declared in this scope

2014-02-13 11:33 489 查看
ffmpeg 是使用C语言写的,默认使用C编译,如果要在C++中调用ffmpeg,则有可能出现错误:


ffmpeg:
'UINT64_C' was not declared in this scope

解决办法三种:

一种是:

extern "C"{

#ifdef __cplusplus

#define __STDC_CONSTANT_MACROS

#ifdef _STDINT_H

#undef _STDINT_H

#endif

# include <stdint.h>

#endif

}

第二种是在ffmpeg的common.h文件中添加语句:

/usr/local/include/libavutil/common.h中添加:

#ifndef UINT64_C

#define UINT64_C(value)__CONCAT(value,ULL)

#endif

http://code.google.com/p/ffmpegsource/issues/detail?id=11

第三种:

在该头文件加以下语句就行了。

#ifndef INT64_C

#define INT64_C

#define UINT64_C

#endif

这个要放在

extern "C"

{

#include <libavcodec/avcodec.h>

#include <libavformat/avformat.h>

#include <libswscale/swscale.h>

#include <libavutil/avutil.h>

}

来源:/article/2122526.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐