当前位置: 技术问答>linux和unix
编译驱动报错:找不到头文件!
来源: 互联网 发布时间:2016-10-25
本文导语: 我在ubuntu9。04下,用arm-linux-gcc 交叉编译了一个led驱动程序。引用的内核源码放在/usr/src/linux2.6.30.4,是天嵌2440开发板光盘里带的源码,与ARM上的一致,也经过了make。现编译后报错如下,有三个头文件找不到! root...
我在ubuntu9。04下,用arm-linux-gcc 交叉编译了一个led驱动程序。引用的内核源码放在/usr/src/linux2.6.30.4,是天嵌2440开发板光盘里带的源码,与ARM上的一致,也经过了make。现编译后报错如下,有三个头文件找不到!
root@xdh-laptop:/home/xdh/nfs_share# make
make -C /lib/modules/2.6.30.4-EmbedSky/build M=/home/xdh/nfs_share modules
make[1]: 正在进入目录 `/usr/src/linux-2.6.30.4'
CC [M] /home/xdh/nfs_share/leddriver.o
/home/xdh/nfs_share/leddriver.c:1:43: error: linux/config.h: No such file or directory
/home/xdh/nfs_share/leddriver.c:7:26: error: asm/hardware.h: No such file or directory
/home/xdh/nfs_share/leddriver.c:8:93: error: asm/arch/S3C2440.h: No such file or directory
补充一下,我引用的内核在/usr/src/linux2.6.30.4,makefile里地址引用正确,而且也是make过的。现在就是找不着linux/config.h,asm/hardware.h还有asm/arch/S3C2440.h这三个头文件,我进了目录看也确实没有,不知道为什么?
root@xdh-laptop:/home/xdh/nfs_share# make
make -C /lib/modules/2.6.30.4-EmbedSky/build M=/home/xdh/nfs_share modules
make[1]: 正在进入目录 `/usr/src/linux-2.6.30.4'
CC [M] /home/xdh/nfs_share/leddriver.o
/home/xdh/nfs_share/leddriver.c:1:43: error: linux/config.h: No such file or directory
/home/xdh/nfs_share/leddriver.c:7:26: error: asm/hardware.h: No such file or directory
/home/xdh/nfs_share/leddriver.c:8:93: error: asm/arch/S3C2440.h: No such file or directory
补充一下,我引用的内核在/usr/src/linux2.6.30.4,makefile里地址引用正确,而且也是make过的。现在就是找不着linux/config.h,asm/hardware.h还有asm/arch/S3C2440.h这三个头文件,我进了目录看也确实没有,不知道为什么?
|
内核版本的问题吧,我知道2.6从某个版本后就没有linux/config.h了,这个文件可以自己建,我记得是个空文件,其他几个文件就不清楚了,你最好用程序推荐的内核版本
|
考一个过来阿
|
你要指定的是你这个板子对应的内核源码目录,而不是系统自带的内核源码目录。因为特定的板子会加入自己的一些头文件。