Mingw下gcc4.5.0编译新版ffmpeg的问题
来源:互联网 发布:sql server 自增长字段 编辑:程序博客网 时间:2024/06/01 11:23
下载了今年8月份的ffmpeg的源码后,在Mingw下编译。ffmpeg警告gcc版本过老,造成栈不对齐,可能存在问题。建议用gcc4.2以上版本。于是下载了最近的稳定版gcc4.5.0进行编译。然而编译不过,出现错误:strcasecmp声明不确切。
在头文件中定义(libavutil/avstring.h) #define strcasecmp stricmp
问题依旧。
于是自己实现了两个函数。
static inline char __hack_charget( char c )
{
if(c >= 'a' && c <= 'z')
c += 'A' - 'a';
return c;
}
static inline int hack_strcasecmp( char const *a, char const *b )
{
char ac, bc;
int r;
for(;;) {
ac = __hack_charget(*a++);
bc = __hack_charget(*b++);
r = (int)ac - (int)bc;
if(r)
return r;
if(!ac)
return 0;
}
}
static inline int hack_strncasecmp( char const *a, char const *b, int n )
{
char ac, bc;
int r, i;
for(i = 0; i < n; ++i) {
ac = __hack_charget(*a++);
bc = __hack_charget(*b++);
r = (int)ac - (int)bc;
if(r)
return r;
if(!ac)
return 0;
}
return 0;
}
#define strcasecmp hack_strcasecmp
#define strncasecmp hack_strncasecmp
将这个文件include进avstring.h和metadata.h中,问题解决。测试后,结果正确。
我google过这个问题,有些老外卡在这里,正在四处询问。
总结:
即使是公布的gcc和ffmpeg也会存在这种比较低级的问题,毕竟是有源代码,见到问题解决问题就行了。
- Mingw下gcc4.5.0编译新版ffmpeg的问题
- GCC4.4.0在MinGW下中文显示乱码的问题
- MinGw 下编译 FFMPEG
- MinGw 下编译 FFMPEG
- MinGw 下编译 FFMPEG
- MinGW下简单编译FFmpeg
- MinGW下简单编译FFmpeg
- 在MinGW下编译ffmpeg
- 在MinGW下编译ffmpeg
- 在MinGW下编译ffmpeg
- 在mingw下编译ffmpeg
- MinGW下简单编译FFmpeg
- MinGW下简单编译FFmpeg
- windows下MinGW编译ffmpeg
- ffmpeg 2.3 mingw下用vs2010/15编译的一些小问题总结
- mingw下vs编译的ffmpeg如何支持x264
- win7+MinGW编译ffmpeg遇到的问题总结
- 使用MinGW 与 MSYS 编译 ffmpeg 的问题说明
- jquery checkbox
- jquery 获取dom固定元素 添加样式
- ado详解
- JAVA基本命令介绍
- 数论读书笔记
- Mingw下gcc4.5.0编译新版ffmpeg的问题
- 关系数据库设计范式举例详解
- CxImage转换成IplImage
- 钩子使用指南
- php memory_get_usage()
- Web服务器控件、Html服务器控件和Html控件
- text-overflow实现标题省略号功能
- ASCII码表(回车/r和换行/n的区别)
- 再说final变量