求助:arm-linux交叉编译c程序出现的几个错误
命令:arm-linux-gcc   -DMODULE   -D__KERNEL__   -I/opt/ruiva/src/linux-2.4.21/include   -o   mypadmodule.o   -c   mykeypad.c     
 1:代码:static   int   key_read(struct   file   *   filp,   char   *   buf,   int   count,   loff_t   *   l) 
       错误:error:   parse   error   before    "loff_t "   
 2:error:   `EAGAIN '   undeclared   (first   use   in   this   function) 
    EAGAIN明明定义在asm-arm中的erron.h中,在命令行中指定的include中,   为什么找不到呢??   
 3:代码:static   struct   file_operations   key_fops   =    
 { 
 	owner:   THIS_MODULE, 
 	poll:   key_select, 
 	read:   key_read, 
 	/*open:   key_open, 
 	release:   key_close,	*/ 
 }; 
 错误:error:   variable   `key_fops '   has   initializer   but   incomplete   type 
                error:   unknown   field   `poll '   specified   in   initializer 
                error:   unknown   field   `read '   specified   in   initializer 
 而在include/linux/fs.h中明明有 
 struct   file_operations   { 
 	struct   module   *owner; 
 	loff_t   (*llseek)   (struct   file   *,   loff_t,   int); 
 	ssize_t   (*read)   (struct   file   *,   char   *,   size_t,   loff_t   *); 
 	ssize_t   (*write)   (struct   file   *,   const   char   *,   size_t,   loff_t   *); 
 	int   (*readdir)   (struct   file   *,   void   *,   filldir_t); 
 	unsigned   int   (*poll)   (struct   file   *,   struct   poll_table_struct   *); 
 	int   (*ioctl)   (struct   inode   *,   struct   file   *,   unsigned   int,   unsigned   long); 
 	int   (*mmap)   (struct   file   *,   struct   vm_area_struct   *); 
 	int   (*open)   (struct   inode   *,   struct   file   *); 
 ........     
 4:代码:static   devfs_handle_t   devfs_handle; 
       错误:   error:   parse   error   before    "devfs_handle "   
 帮帮忙吧,不胜感激!
------解决方案--------------------你这个是serch path的问题,你可以具体指定文件-include 试一试,也可以把/opt/ruiva/src/linux-2.4.21/include 加到PATH路径中试一试。
------解决方案--------------------你把相应有错误的地方注释掉,先看能不能编译过去,然后再一个个解决。