C 如何在程序中包含内核头

C 如何在程序中包含内核头,c,linux,network-programming,linux-kernel,header-files,C,Linux,Network Programming,Linux Kernel,Header Files,我正在写一个libnetfilter_队列程序。我是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 尝试此find/-name

我正在写一个libnetfilter_队列程序。我是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

尝试此
find/-name skbuff.h2>/dev/null
,然后当它找到位置时,在编译程序时使用
-I/path/to/folder
。。如果它没有找到标题,你就没有它

如果您有locate DB,
locate linux/skbuff.h

我想如果您安装了它们,a-I/usr/include/linux应该可以工作。。。您是如何安装内核头的?我使用ubuntu 12.04,以下软件包已经安装linux-headers-3.2.0-32如果您正在编译内核模块,您可能只需要内核头;在这种情况下,特定于模块和内核的makefile应该处理这个问题。find/usr[…]应该足够了^^我添加了路径/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:没有这样的文件或目录您知道如何将目录添加到路径吗?g++-Wall-I/usr/src/linux-headers-3.2.0-32/include/-o filter-lnetfilter_队列如果没有,请在终端复制粘贴中键入$PATH,然后转到您的主目录并键入
vi.bashrc
添加您复制的内容并添加所需目录以将其包括在搜索路径中查看是否有效例如
PATH=$PATH:/usr/src/linux-headers-3.2.0-32/include/:$home/bin