Linux编写内核模块编译时找不到头文件
我在编译以下一个简单的内核模块时,用了gcc-D__KERNEL__-DMODULE-DLINUX-I/usr/src/linux-headers-2.6.32-24/i...
我在编译以下一个简单的内核模块时,用了gcc -D__KERNEL__ -DMODULE -DLINUX -I /usr/src/linux-headers-2.6.32-24/include h.c命令。
其中 /usr/src/linux-headers-2.6.32-24/include是我的内核源码include路径,h.c是源码文件。执行完后出现以下错误
我看了下,是我包含的那两个头文件里面包含了prefetch.h这个头文件,然后prefetch.h又包含了asm/processor.h等等。但是我去include里面找,根本就找不到processor.h也没有asm这个文件夹。这怎么回事?
我现在连这个最简单的内核模块都运行不起来,求各位高手指点下。
#include <linux/module.h> //所有模块都需要的头文件#include <linux/init.h> // init&exit 相关宏MODULE_LICENSE("GPL");static int __init hello_init (void){printk("Hello module init\n");return 0;}static void __exit hello_exit (void){printk("Hello module exit\n");}module_init(hello_init);module_exit(hello_exit); 展开
其中 /usr/src/linux-headers-2.6.32-24/include是我的内核源码include路径,h.c是源码文件。执行完后出现以下错误
我看了下,是我包含的那两个头文件里面包含了prefetch.h这个头文件,然后prefetch.h又包含了asm/processor.h等等。但是我去include里面找,根本就找不到processor.h也没有asm这个文件夹。这怎么回事?
我现在连这个最简单的内核模块都运行不起来,求各位高手指点下。
#include <linux/module.h> //所有模块都需要的头文件#include <linux/init.h> // init&exit 相关宏MODULE_LICENSE("GPL");static int __init hello_init (void){printk("Hello module init\n");return 0;}static void __exit hello_exit (void){printk("Hello module exit\n");}module_init(hello_init);module_exit(hello_exit); 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询