この gcc コマンドでプログラムをコンパイルしようとしています:
gcc -c -fomit-frame-pointer -O2 sth.c
次のヘッダー ファイルが含まれます。
#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 <asm/unistd.h> //line 7
"no such file or directory"
行 2、4、および 6 でエラーが発生しますが、それらは他の 4 と同じように配置されています/usr/src/kernels/3.10.14-100.fc18.x86_64/include/linux/
。
以前に(Makefileを使用して)(fedora 18)、このシステムにカーネルヘッダーファイルを含む他のプログラムをいくつかコンパイルしましたが、たとえば、dirent.h
またはのようなエラーは発生しなかったと確信していますproc_fs.h
。これらの Makefile で考慮された gcc の他のオプションを使用する必要があると思います!
kernel-headerfiles
実行中のカーネルとkernel-devel
同じバージョンのパッケージがインストールされています。