用arm-linux编译scull时,遇到的错误: 问题1: root@ubuntu:~/Desktop/scull01# make ARCH=arm CROSS_COMPILE=arm-linux- -C/root/Desktop/uclinux02/uClinux-dist/linux-2.6.x M=`pwd` modules make: Entering directory `/root/Desktop/uclinux02/uClinux-dist/linux-2.6.x' CC [M] /root/Desktop/scull01/main.o /root/Desktop/scull01/main.c:17:26: linux/config.h: No such file or directory make[1]: *** [/root/Desktop/scull01/main.o] Error 1 make: *** [_module_/root/Desktop/scull01] Error 2 make: Leaving directory `/root/Desktop/uclinux02/uClinux-dist/linux-2.6.x' 解决办法: 直接删除config.h 参考:http://linux./bbs/archiver/tid-1025989.html 问题2: root@ubuntu:~/Desktop/scull01# make ARCH=arm CROSS_COMPILE=arm-linux- -C/root/Desktop/uclinux02/uClinux-dist/linux-2.6.x M=`pwd` modules make: Entering directory `/root/Desktop/uclinux02/uClinux-dist/linux-2.6.x' CC [M] /root/Desktop/scull01/main.o CC [M] /root/Desktop/scull01/pipe.o CC [M] /root/Desktop/scull01/access.o /root/Desktop/scull01/access.c: In function `scull_u_open': /root/Desktop/scull01/access.c:106: error: dereferencing pointer to incomplete type /root/Desktop/scull01/access.c:107: error: dereferencing pointer to incomplete type /root/Desktop/scull01/access.c:114: error: dereferencing pointer to incomplete type /root/Desktop/scull01/access.c: In function `scull_w_available': /root/Desktop/scull01/access.c:165: error: dereferencing pointer to incomplete type /root/Desktop/scull01/access.c:166: error: dereferencing pointer to incomplete type /root/Desktop/scull01/access.c: In function `scull_w_open': /root/Desktop/scull01/access.c:179: error: `TASK_INTERRUPTIBLE' undeclared (first use in this function) /root/Desktop/scull01/access.c:179: error: (Each undeclared identifier is reported only once /root/Desktop/scull01/access.c:179: error: for each function it appears in.) /root/Desktop/scull01/access.c:179: error: implicit declaration of function `signal_pending' /root/Desktop/scull01/access.c:179: error: implicit declaration of function `schedule' /root/Desktop/scull01/access.c:184: error: dereferencing pointer to incomplete type /root/Desktop/scull01/access.c: In function `scull_w_release': /root/Desktop/scull01/access.c:205: error: `TASK_INTERRUPTIBLE' undeclared (first use in this function) /root/Desktop/scull01/access.c: In function `scull_c_open': /root/Desktop/scull01/access.c:277: error: dereferencing pointer to incomplete type /root/Desktop/scull01/access.c:281: error: dereferencing pointer to incomplete type make[1]: *** [/root/Desktop/scull01/access.o] Error 1 make: *** [_module_/root/Desktop/scull01] Error 2 make: Leaving directory `/root/Desktop/uclinux02/uClinux-dist/linux-2.6.x' 解决办法: access.c里面增加 #include <linux/sched.h> 参考:http://linux./bbs/archiver/tid-1025989.html |
|
来自: danydany_ok > 《每日问题》