ffmpeg安装error

cvcap_ffmpeg.cpp:252: error: integer constant is too large for 'long' type
cvcap_ffmpeg.cpp:256: error: integer constant is too large for 'long' type
cvcap_ffmpeg.cpp:260: error: integer constant is too large for 'long' type
cvcap_ffmpeg.cpp:260: error: integer constant is too large for 'long' type

cvcap_ffmpeg.cpp:252: error: 'INT64_C' was not declared in this scope
cvcap_ffmpeg.cpp:256: error: 'INT64_C' was not declared in this scope
cvcap_ffmpeg.cpp:260: error: 'INT64_C' was not declared in this scope

此出错误,摆渡无数找到一个解决方法:
就是修改include/ffmpeg/avformat.h文件加入
#define INT64_C
#define __STDC_CONSTANT_MACROS
#include <stdint.h>

反正可以解决问题。

cvcap_ffmpeg.cpp:390: error: 'EDOM' was not declared in this scope
cvcap_ffmpeg.cpp:392: error: 'EINVAL' was not declared in this scope
cvcap_ffmpeg.cpp:394: error: 'EILSEQ' was not declared in this scope
cvcap_ffmpeg.cpp:396: error: 'EIO' was not declared in this scope
cvcap_ffmpeg.cpp:398: error: 'ENOMEM' was not declared in this scope

此处错误原因我也不明,打开文件发现是一个错误处理函数,直接给注释掉。

> Try adding
>
> #define __STDC_CONSTANT_MACROS
>
> before first inclusion of <stdint.h> or first inclusion of ffmpeg headers.
> This macro should be defined when using <stdint.h> with C++ compiler

作者: BinChengfei   发布时间: 2010-09-06