系统:Fedora Core4
内核:2.6.11.1
出现错误:
1、CC drivers/i2c/i2c-core.o
In file included from drivers/i2c/i2c-core.c:29:
include/linux/i2c.h:58: error: array type has incomplete element type
include/linux/i2c.h:197: error: array type has incomplete element type
drivers/i2c/i2c-core.c: In function ‘i2c_transfer’:
drivers/i2c/i2c-core.c:594: error: type of formal parameter 2 is incomplete
drivers/i2c/i2c-core.c: In function ‘i2c_master_send’:
drivers/i2c/i2c-core.c:620: error: type of formal parameter 2 is incomplete
drivers/i2c/i2c-core.c: In function ‘i2c_master_recv’:
drivers/i2c/i2c-core.c:649: error: type of formal parameter 2 is incomplete
make[2]: *** [drivers/i2c/i2c-core.o] 错误 1
make[1]: *** [drivers/i2c] 错误 2
make: *** [drivers] 错误 2
解决方法:
将include/linux/i2c.h中第58,197行内struct i2c_msg msg[]改为struct i2c_msg *msg
2、In file included from drivers/media/video/bttv-driver.c:42:
drivers/media/video/bttvp.h:233: 错误:数组元素的类型不完全
不允许类型在声明前使用,因此调换次序就可以顺利通过。