-I /usr/src/linux-headers-2.6.32-24/include 其中, -I和后面的路径没有空格
-I/usr/src/linux-headers-2.6.32-24/include
一般也很少直接用gcc命令, 大部分是用makefile, make -C kernel_path moles
② linux 模块编译显示没有头文件
编写linux内核模块,需要自己编写Makefile,同时在Makefile里面制定自己的内核路径,这样才能处理提示没有头文件错误。
编译命令:
exportPATH=$PATH:#编译工具链路径
exportARCH=#CPU类别(例如arm)
exportCROSS_COMPILE=arm-none-linux-gnueabi-#(编译工具xx-gcc的前缀xx)
make-C#编译好的内核模块运行的Linuxkernel内核源代码目录树M=$`pwd`moles
Linux模块编译例子:
exportPATH=$PATH:/usr/local/arm/4.2.2-eabi/usr/bin
#forSamsungs5pc100
exportARCH=arm
exportCROSS_COMPILE=arm-none-linux-gnueabi-
make-C/home/wenxy/src/s5pc100/linux-2.6.35.5M=$`pwd`moles
③ linux头文件存在编译时却找不到
1、通过find命令查找编译时找不到的头文件。
find / -name x.h (x.h是缺少的头文件,根据实际情况操作)
2、如果能找到, 就在/usr/include目录下建立一个x.h的软连接
ln -s /usr/include /usr/x/y/z/x.h (假设缺少的头文件路径 /usr/x/y/z/,根据实际情况操作)
3、如果不能找到,就说明当前系统缺少此头文件的库,自行网络搜索相应的库安装即可。