linux编译寻找包含的头文件,Linux编写内核模块编译时找不到头文件

在尝试编译Linux内核模块时,遇到了因头文件缺失导致的错误,具体表现为编译过程中报错`asm/***.h: 没有那个文件或目录`。尽管找到了processor.h文件,但它不在预期的`asm`子目录下。这可能是因为内核头文件路径设置不正确或结构不完整。目前尚不清楚是内核模块编译命令的问题,还是内核源码树的问题。寻求解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//所有模块都需要的头文件#include // 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);

用了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是源码文件。执行完后出现以下错误

In file included from /usr/src/linux-headers-2.6.32-24/include/linux/list.h:6,

from /usr/src/linux-headers-2.6.32-24/include/linux/module.h:9,

from h.c:1:

/usr/src/linux-headers-2.6.32-24/include/linux/prefetch.h:14:27: error: asm/processor.h: 没有那个文件或目录

/usr/src/linux-headers-2.6.32-24/include/linux/prefetch.h:15:23: error: asm/cache.h: 没有那个文件或目录

In file included from /usr/src/linux-headers-2.6.32-24/include/linux/module.h:9,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值