ffmpeg编译总结
来源:互联网 发布:eclipse优化运行速度 编辑:程序博客网 时间:2024/06/07 06:16
1. error C3861: 'UINT64_C': identifier not found
#ifndef INT64_C
#define INT64_C
#define UINT64_C
#endif
2. Cannot open include file: 'inttypes.h': No such file or director解决办法
1、找到include目录中的ffmpeg\common.h
2、在“#define COMMON_H”之后加入如下代码,同时删除“#include <inttypes.h>” 然后保存:
#if defined(WIN32) && !defined(__MINGW32__) && !defined(__CYGWIN__)
# define CONFIG_WIN32
#endif
#if defined(WIN32) && !defined(__MINGW32__) && !defined(__CYGWIN__) && !defined(EMULATE_INTTYPES)
# define EMULATE_INTTYPES
#endif
#ifndef EMULATE_INTTYPES
# include <inttypes.h>
#else
typedef signed char int8_t;
typedef signed short int16_t;
typedef signed int int32_t;
typedef unsigned char uint8_t;
typedef unsigned short uint16_t;
typedef unsigned int uint32_t;
# ifdef CONFIG_WIN32
typedef signed __int64 int64_t;
typedef unsigned __int64 uint64_t;
# else
typedef signed long long int64_t;
typedef unsigned long long uint64_t;
# endif
#endif
3. 出现Cannot open include file: 'stdint.h': No such file or directory
在出现 #include <stdint.h>的地方注掉即可
4. 出现 'class' : missing tag name
将void show_help_children(const AVClass *class, int flags);
改成void show_help_children(const AVClass *avclass, int flags);
5. SHOW_MODE_NONE未定义
将enum ShowMode {
SHOW_MODE_NONE = -1, SHOW_MODE_VIDEO = 0, SHOW_MODE_WAVES, SHOW_MODE_RDFT, SHOW_MODE_NB
}show;
改成enum ShowMode {
SHOW_MODE_NONE = -1, SHOW_MODE_VIDEO = 0, SHOW_MODE_WAVES, SHOW_MODE_RDFT, SHOW_MODE_NB
};然后放到VideoState外面去。
VideoState里面的改成 enum ShowMode show_mode;
6. 出现error C2668: 'sqrt' : ambiguous call to overloaded function
这涉及到C++的函数重载的概念。 比如当编译器看到sqrt(3)的时候,它会试图去找一个sqrt(int)的函数,但是找不到。 于是退而求其次,找一个可以从int转换过去的sqrt,有两种情况:sqrt(long double),sqrt(float)。编译器认为把int转换成long double或者float都很合理。 解决办法:(1)sqrt(3.0) (2)sqrtf(3)将 double w = 1 / sqrt(nb_freq);
改成double w = 1 / sqrt((double)nb_freq);
7. 出现 'usleep': identifier not found
这里因为VC中没有usleep,usleep是微妙级别的,所以需要把代码改为
usleep(is->audio_st && is->show_audio ? rdftspeed*1000 : 5000);
to
Sleep (is->audio_st && is->show_audio ? rdftspeed*1 : 5);
8. 出现missing ')' before identifier 'PRId64'
在头文件添加如此定义
#define INT64_C(val) val##i64
#define _64BITARG_ "I64"
#define PRId64 _64BITARG_"d"
#define PRIu64 _64BITARG_"u"
9. cannot convert from 'int' to 'PixelFormat'
将 vp->pix_fmt = is->out_video_filter->inputs[0]->format;
改成vp->pix_fmt = (PixelFormat)is->out_video_filter->inputs[0]->format;
不能直接将Int赋值给PixelFormat要进行强制转换
- ios ffmpeg编译总结
- ffmpeg编译问题总结
- ffmpeg编译总结
- vs2013编译ffmpeg总结
- FFmpeg 编译安装使用总结
- android ffmpeg 编译加实例学习总结
- FFmpeg/ffplay for VC 编译错误总结
- debian下ffmpeg编译过程总结
- ubuntu编译x264与ffmpeg--总结
- iOS: FFmpeg编译和使用问题总结
- iOS: FFmpeg编译和使用问题总结
- iOS: FFmpeg编译和使用问题总结
- iOS: FFmpeg编译和使用问题总结
- iOS: FFmpeg编译和使用问题总结
- iOS: FFmpeg编译和使用问题总结
- iOS: FFmpeg编译和使用问题总结
- iOS: FFmpeg编译和使用问题总结
- iOS: FFmpeg编译和使用问题总结
- OpenGL Insights 阅读有感
- EXCEL排序
- 让screen帮助你协同工作
- 一个驾照考试系统,让我学习了io操作和配置读写知识
- 5、Android中Json文件的制作与使用
- ffmpeg编译总结
- 【APNs】Scheduling the Delivery of Local Notifications
- 程序员的职业发展
- 【转】对新手程序员的一些唠叨
- 最长公共子序列
- SQL Server 如何在运行时重编译存储过程
- opengl es 学习笔记(一):流水线
- UTF8编码页面提交参数登录到GB2312编码处理
- vim 括号匹配 以及各种跳转技巧.