怎么把写好的驱动程序编译成目标程序?
chsal 2004-02-14 08:31:48 是不是只用gcc -O2 -DMODULE -D__KERNEL__ -c XX.c -o XX.o不行啊
我试着编译了一下/usr/src/linux-2.4.20-8/drivers/char 里面的busmouse.c
我的Linux版本时Redhat9.0
结果报了好多错误啊,我在书上抄的也一样,好多错误
具体那个busmouse.c的错误如下,很大很大,我分页给出:
[root@Grey char]# gcc -O2 -DMODULE -D_KERNEL_ -c busmouse.c -o busmuose.o
In file included from /usr/include/linux/sched.h:14,
from busmouse.c:13:
/usr/include/linux/timex.h:173: field `time' has incomplete type
In file included from /usr/include/linux/bitops.h:69,
from /usr/include/asm/system.h:7,
from /usr/include/linux/sched.h:16,
from busmouse.c:13:
/usr/include/asm/bitops.h:327:2: warning: #warning This includefile is not available on all architectures./usr/include/asm/bitops.h:328:2: warning: #warning Using kernel headers in userspace: atomicity not guaranteed
In file included from /usr/include/linux/signal.h:4,
from /usr/include/linux/sched.h:25,
from busmouse.c:13:
/usr/include/asm/signal.h:107: parse error before "sigset_t"
/usr/include/asm/signal.h:110: parse error before '}' token
In file included from /usr/include/linux/sched.h:81,
from busmouse.c:13:
/usr/include/linux/timer.h:32: field `vec' has incomplete type
/usr/include/linux/timer.h:37: field `vec' has incomplete type
/usr/include/linux/timer.h:45: parse error before "spinlock_t"
/usr/include/linux/timer.h:53: parse error before '}' token
/usr/include/linux/timer.h:63: field `list' has incomplete type
/usr/include/linux/timer.h:67: parse error before "tvec_base_t"
/usr/include/linux/timer.h:101: parse error before "tvec_bases"
/usr/include/linux/timer.h: In function `init_timer':
/usr/include/linux/timer.h:105: dereferencing pointer to incomplete type
/usr/include/linux/timer.h:105: dereferencing pointer to incomplete type
/usr/include/linux/timer.h:106: dereferencing pointer to incomplete type
/usr/include/linux/timer.h: In function `timer_pending':
/usr/include/linux/timer.h:121: dereferencing pointer to incomplete type
In file included from /usr/include/linux/pagemap.h:15,
from /usr/include/linux/locks.h:8,
from /usr/include/linux/devfs_fs_kernel.h:6,
from /usr/include/linux/miscdevice.h:4,
from busmouse.c:19:
/usr/include/asm/pgtable.h:17:24: asm/fixmap.h: 没有那个文件或目录
In file included from /usr/include/linux/pagemap.h:15,
from /usr/include/linux/locks.h:8,
from /usr/include/linux/devfs_fs_kernel.h:6,
from /usr/include/linux/miscdevice.h:4,
from busmouse.c:19:
/usr/include/asm/pgtable.h: At top level:
/usr/include/asm/pgtable.h:24: parse error before "swapper_pg_dir"
In file included from /usr/include/asm/pgtable.h:115,
from /usr/include/linux/pagemap.h:15,
from /usr/include/linux/locks.h:8,
from /usr/include/linux/devfs_fs_kernel.h:6,
from /usr/include/linux/miscdevice.h:4,
from busmouse.c:19: