请教一个驱动编译的问题

great2000_1 2005-08-13 12:46:28
我仿写了一个字符设备驱动程序,用gcc -c trace.c -D_KERNEL_ -DMODULE -O2 -I/usr/src/linux-2.4.20-8/include -g -Wall -o trace.o2 进行编译。

报错是:
In file included from /usr/src/linux-2.4.20-8/include/linux/sched.h:16,
from /usr/src/linux-2.4.20-8/include/asm/uaccess.h:8,
from trace.c:11:
/usr/src/linux-2.4.20-8/include/linux/timex.h:173: field `time' has incomplete
type
/usr/src/linux-2.4.20-8/include/linux/timex.h:188: confused by earlier errors,
bailing out
请问这个问题如何解决啊?
...全文
187 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zdhzidy 2005-09-12
  • 打赏
  • 举报
回复
内核编译的时候缺少一些依赖文件,你先make menuconfig 一下生成配置文件,然后make bzimage让内核编译一下,看着没有问题就clt-c 取消。然后编看看还有没有问题。记得

回复人: lirun(笨笨狗) ( ) 信誉:97
-D__KERNEL__,不是-D_KERNEL_这个不要写错了:)
tbcookie 2005-08-29
  • 打赏
  • 举报
回复
关注,我前一段也这样,初学真是困难啊
BobSang 2005-08-28
  • 打赏
  • 举报
回复
I think you need to config the kernel source.
zgz 2005-08-24
  • 打赏
  • 举报
回复
重新编译gcc,指定头文件路径指向linux-2.4.20-8

或者把/usr/include/linux里面的头文件用/usr/src/linux-2.4.20-8/include里面的文件替代
lirun 2005-08-24
  • 打赏
  • 举报
回复
你打错了,应该是:
-D__KERNEL__,不是-D_KERNEL_
sharkhuang 2005-08-24
  • 打赏
  • 举报
回复
差头文件的路径
great2000_1 2005-08-13
  • 打赏
  • 举报
回复
不是这样的。我包含了time.h头文件还是这样。
看子棉意思,好像是/usr/include/linux里面的time.h何/usr/src/linux-2.4.20-8/include里面的time.h相冲突了,系统不知道用哪一个头文件引起的。
请问有没有大虾有解决办法啊?
bekars 2005-08-13
  • 打赏
  • 举报
回复
没有#include <linux/time.h>

4,441

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧