C program can't find some included header files though they exist
我正在尝试使用此gcc命令编译程序:
1 | gcc -c -fomit-frame-pointer -O2 sth.c |
这些头文件包括:
1 2 3 4 5 6 7 | #include <linux/kernel.h> //line 1 #include <linux/module.h> //line 2 #include <sys/syscall.h> //line 3 #include <linux/proc_fs.h> //line 4 #include <linux/types.h> //line 5 #include <linux/dirent.h> //line 6 #include //line 7 |
我发现第2,4和6行出现
我在之前(使用Makefiles)(fedora 18)之前已经在该系统上编译了一些其他程序,其中包括内核头文件,而且我敢肯定,例如对于
我认为也许我应该对那些Makefile中考虑过的gcc使用其他一些选项!
安装了与我正在运行的内核相同版本的
用户空间内核头文件位于
如果程序有问题,实际上是内核模块,则需要使用KBuild对其进行编译,因为内核模块需要特殊的构建环境。 请参阅:了解什么是KBuild
还可以看看:
1 | /usr/src/linux/Documentation/kbuild/modules.txt |