无法找到标题<linux kfifo.h =“”>

时间:2016-04-30 06:15:49

标签: c linux header kernel

在我的linux( 3.16.0-38-generic#52~14.04.1-Ubuntu )上,我通过以下方式包含kfifo标头:

#include <linux/kfifo.h>

根据linux-module-h-no-such-file-or-directory,我还通过以下方式安装了内核头文件:

sudo apt-get install linux-headers-$(uname -r)

该文件位于:

  

/usr/src/linux-headers-3.16.0-38/include/linux/kfifo.h

但是,在编译时,仍然无法找到标题:

  

kfifo_test.c:5:25:致命错误:linux / kfifo.h:没有这样的文件或目录

有任何帮助吗?感谢。

@Update

似乎gcc没有找到头文件。

通过以下方式编译时:

gcc -I "/usr/src/linux-headers-3.16.0-38/include/" kfifo_test.c

它找到了linux/kfifo.h,但找不到asm/linkage.h,我猜这是linux/kfifo.h使用的。

  

包含来自的文件   /usr/src/linux-headers-3.16.0-38/include/linux/kernel.h:6:0,   来自/usr/src/linux-headers-3.16.0-38/include/linux/kfifo.h:53,   来自kfifo_test.c:7:/usr/src/linux-headers-3.16.0-38/include/linux/linkage.h:7:25:致命错误:asm / linkage.h:没有这样的文件或目录

然后,在编译时添加另一个-I选项:

gcc -I"/usr/src/linux-headers-3.16.0-38/include/" -I"/usr/src/linux-headers-3.16.0-38/arch/x86/include/" kfifo_test.c

找到asm/linkage.h,但再次递归地发生更多错误。 (例如fatal error: asm/early_ioremap.h: No such file or directory)。

0 个答案:

没有答案