修正ffmpeg编译错误-videodev2.h:518: error: syntax error before

编译ffmpeg 提示错误:

/usr/include/linux/videodev2.h:518: error: syntax error before

......

打开/usr/include/linux/videodev2.h , 518行代码:

typedef __u64 v4l2_std_id;

这个错误可能是当前编译环境不认 __u64 声明,(我的gcc版本: gcc version 3.4.6 20060404 )

 

只好修改"伟大"的ffmpeg源码了: 把__u64声明改为 unsigned long long,

保存,重新编译出现另一处声明错误, 错误出现在 /usr/include/linux/videodev.h , 接着修改,

ulong 声明改成 unsigned long, 保存,再编译,顺利通过.

 

也可以用宏定义来修正这个错误,不过既然其它地方没问题,暂时先这么改看看有没有问题.

 

没有64位机的环境,好像__u64这样的声明兼容性不太好, 唉,终究是编译器版本太多, 只苦了在这些架构下工作的开发人员, 真不明白这样的结局真的"伟大"吗? 只是耗费更多的精力而已... , 而且,这样的错误不应该由应用者来承担啊.

posted @ 2008-08-18 06:16 CZoneSoft 阅读(...) 评论(...) 编辑 收藏