编译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这样的声明兼容性不太好, 唉,终究是编译器版本太多, 只苦了在这些架构下工作的开发人员, 真不明白这样的结局真的"伟大"吗? 只是耗费更多的精力而已... , 而且,这样的错误不应该由应用者来承担啊.