无法在 Kali Linux 上编译头文件

无法在 Kali Linux 上编译头文件

我的 kali linux 有一个问题 - 我想编写一个简单的程序,其中包含 3 个头文件:

#include <linux/input.h>
#include <stdio.h>
#include <fcntl.h>

我尝试用 gcc (默认编译设置)编译它,然后我一个接一个地收到一大堆错误,例如

/usr/include/linux/cache.h:5:10: fatal error: uapi/linux/kernel.h: No such file or directory
5 | #include <uapi/linux/kernel.h>
  |          ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.

然后我尝试找到 uapi/linux/ 目录并将其复制到 /usr/include 以便编译器可以找到它,但随后

/usr/include/linux/cache.h:5:10: fatal error: uapi/linux/kernel.h: No such file or directory
5 | #include <uapi/linux/kernel.h>
  |          ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.

经过几次尝试将目录复制到/usr/include我终于得到错误,指出“u32”、“u16”的类型名称未知(它们肯定在某些标头中定义)。我不想自己弄乱我的头文件,因为它不起作用,那么我应该做什么来编译这些头文件?

答案1

您可能还没有安装所需的linux-headers软件包,它应该与您的内核版本相同。

请注意,Kali Linux 基于 Debian 测试,而某些部分也来自不稳定甚至实验,这意味着您可能会遇到错误和稳定性问题。

相关内容