【发布时间】:2011-06-21 09:28:13
【问题描述】:
我已经在我的机器上下载、编译并安装了最新的内核。现在,我正在尝试编写一个内核模块。当我尝试编译它时,出现以下类似错误 - 致命错误:sys/syscall.h:没有这样的文件或目录 致命错误:linux/module.h:没有这样的文件或目录 我已经尝试为此重写makefile,包括从我最新内核的源代码中包含必要的目录,但问题仍然存在。
需要您的建议。
【问题讨论】:
-
向我们展示代码。此外,您不应在模块中包含标准头文件。
-
你读过内核模块教程吗?现代内核带有一个完整的模块构建环境,你应该使用它。 (换句话说:在问问题之前告诉我们你得到了什么。)this simple example 对你有用吗?
-
你能给我们看看makefile吗?
-
我的 Make 文件看起来像这样 - [code] obj -m += file.o all: make -C /lib/modules/$(shell uname -r)/build M=$( PWD) modules clean: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean 好吧,在内核模块教程之一中,有人建议我包含这些头文件。我是这个领域的新手,因此使用了任何建议。
标签: c linux makefile kernel-module