weiwotianyuan 发表于 2010-07-01 16:52

make modules时出现negative width in bit-field '<anonymous>'是什么意思?

make modules的时候出现了报错
drivers/scsi/osd/osd_initiator.c: In function 'build_test':
drivers/scsi/osd/osd_initiator.c:67: error: negative width in bit-field '<anonymous>'
drivers/scsi/osd/osd_initiator.c:68: error: negative width in bit-field '<anonymous>'
make: *** 错误 1
make: *** 错误 2
make: *** 错误 2
make: *** 错误 2

这句话 negative width in bit-field '<anonymous>'是什么意思?我怎么翻译都觉得不对!出错的原因又是因为什么呢?

ljysyn 发表于 2010-07-01 17:31

是不是用到了bit-field的结构体,定义或者赋值出了问题?

weiwotianyuan 发表于 2010-07-01 17:44

应该不是,出问题的地方应该在这里,
static inline void build_test(void)
{
        /* structures were not packed */
66        BUILD_BUG_ON(sizeof(struct osd_capability) != OSD_CAP_LEN);
67        BUILD_BUG_ON(sizeof(struct osdv2_cdb) != OSD_TOTAL_CDB_LEN);
68        BUILD_BUG_ON(sizeof(struct osdv1_cdb) != OSDv1_TOTAL_CDB_LEN);
}

但就是不知道哪里有问题,希望大家帮我看看。

emmoblin 发表于 2010-07-01 22:18

跳到这些宏的地方看看,多数都是gcc的版本不同造成的编译错误

skyness_ 发表于 2012-08-23 14:31

后来这个问题解决了吗?我也遇到这个问题,网上都找不到解决办法
页: [1]
查看完整版本: make modules时出现negative width in bit-field '<anonymous>'是什么意思?