linux编译寻找包含的头文件,Linux编写内核模块编译时找不到头文件
//所有模塊都需要的頭文件#include // init&exit 相關(guān)宏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是我的內(nèi)核源碼include路徑,h.c是源碼文件。執(zhí)行完后出現(xiàn)以下錯(cuò)誤
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: 沒(méi)有那個(gè)文件或目錄
/usr/src/linux-headers-2.6.32-24/include/linux/prefetch.h:15:23: error: asm/cache.h: 沒(méi)有那個(gè)文件或目錄
In file included 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/list.h:7:24: error: asm/system.h: 沒(méi)有那個(gè)文件或目錄
底下還有一大堆,都是“asm/***.h: 沒(méi)有那個(gè)文件或目錄”這樣的錯(cuò)誤
我看了下,是我包含的那兩個(gè)頭文件里面包含了prefetch.h這個(gè)頭文件,然后prefetch.h又包含了asm/processor.h等等。但是我去include里面找,能找到processor.h這個(gè)文件,但是不是在asm文件夾下面。也沒(méi)有asm這個(gè)文件夾。這怎么回事?
我現(xiàn)在連這個(gè)最簡(jiǎn)單的內(nèi)核模塊都運(yùn)行不起來(lái),求各位高手指點(diǎn)下。
還是說(shuō)我編譯內(nèi)核模塊的方法不對(duì)?
總結(jié)
以上是生活随笔為你收集整理的linux编译寻找包含的头文件,Linux编写内核模块编译时找不到头文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【Matlab】parfor并行运算如何
- 下一篇: 【Excel】一次性快速批量删除下面多余