2012-10-15 31 views
1

我在写一个libnetfilter_queue程序。我是Linux内核编程的新手。我需要包含linux/skbuff.h, net/checksum.h以及许多不在/ usr/include/linux中的相关内核头文件。我得到的编译如何在程序中包含内核头文件

fatal error: linux/skbuff.h: No such file or directory 
fatal error: net/checksum.h: No such file or directory 
+0

我想如果你安装了它们,-I/usr/include/linux应该可以工作......你是如何安装你的内核的头文件的? – shkschneider

+0

我使用Ubuntu 12.04,已经安装了以下软件包linux-headers-3.2.0-32 –

+0

如果您正在编译内核模块,您可能只需要内核头文件;在这种情况下,你的模块和内核特定的makefile应该处理这个问题。 –

回答

1

以下错误试试这个find/-name skbuff.h 2>/dev/null那么当它发现的地方使用-I/path/to/folder当您编译的程序。如果它没有找到头你不拥有它!

+0

find/usr [^]应该足够^^ – shkschneider

+0

我添加了路径/usr/src/linux-headers-3.2.0-32/include/但是我得到以下错误:/ usr/src/linux-headers -3.2.0-32/include/linux/bitops.h:22:24:致命错误:asm/bitops.h:没有这样的文件或目录 –

+0

你知道如何添加一个目录到你的路径吗? – pyCthon