busybox编译问题:typedef 'BUG_const_mismatch' locally defined but not used

作者:Chilau 发布于:2014-3-14 18:33 分类:linux

coreutils/catv.c:32:15: error: typedef 'BUG_const_mismatch' locally defined but not used [-Wunused-local-typedefs]
  typedef char BUG_const_mismatch[
               ^
因为默认makefile里把警告视为错误,所以当然无法继续编译了.解决方案:
在catv.c中找到
#define CATV_OPT_e (1<<0)
#define CATV_OPT_t (1<<1)
#define CATV_OPT_v (1<<2)
      typedef char BUG_const_mismatch[
              CATV_OPT_e == VISIBLE_ENDLINE && CATV_OPT_t == VISIBLE_SHOW_TABS
               ? 1 : -1
       ];
改为
struct BUG_const_mismatch {
        char BUG_const_mismatch[
                CATV_OPT_e == VISIBLE_ENDLINE && CATV_OPT_t == VISIBLE_SHOW_TABS
                ? 1 : -1
        ];
};
这样相当于把编译器骗过去了.这个文件似乎是为cat接受参数的.



« Linux判断USB连接协议版本 | android无法安装软件或安装按钮为灰色解决»

发表评论: