您的位置:首页 > 编程语言 > Qt开发

windows下Qt调用ffmpeg库编译问题

2014-07-28 19:53 288 查看
1、*\FFmpeg.h:12: error: libavcodec/avcodec.h: No such file or directory

下载安装ffmpeg库。

2、E:\BRT-Project\BRT-Windows\windows-demos\qtRtspClient\RTSPClient\include\libavutil\common.h:30: error: #error missing -D__STDC_CONSTANT_MACROS /

#define __STDC_CONSTANT_MACROS

extern "C"{

#ifdef __cplusplus

#define __STDC_CONSTANT_MACROS

#ifdef _STDINT_H

#undef _STDINT_H

#endif

# include <stdint.h>

#endif

}

3、*\include\libavutil\common.h:183: error: 'UINT64_C' was not declared in this scope

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>

}

来源:http://blog.csdn.net/kidleaf2/article/details/7733284
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: