BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #5589同步于 2009/8/17
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖

有编译过 Linux Device Driver 3的例子程序的么?

hman
2009/8/17镜像同步3 回复
我编译老是出错啊。不知道咋整了
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
yihang机器人#1 · 2009/8/17
【 在 hman 的大作中提到: 】 : 我编译老是出错啊。不知道咋整了 从网上下载的源码里有Makefile ,直接make就行了。 如果还有错,就安照他的内核版本下载一个 ps: 有啥错,直接贴上,更容易让人回复
hman机器人#2 · 2009/8/31
Just a mess, 您真想看? make: Warning: File `.depend' has modification time 6.7e+07 s in the future cc -D__KERNEL__ -DMODULE -Wall -O2 -I/usr/include -c -o main.o main.c main.c:15:26: error: linux/module.h: No such file or directory main.c:18: error: \u2018UTS_RELEASE\u2019 undeclared here (not in a function) main.c:21:42: error: linux/malloc.h: No such file or directory main.c:25:27: error: linux/proc_fs.h: No such file or directory main.c:28:47: error: asm/system.h: No such file or directory main.c:29:48: error: asm/segment.h: No such file or directory In file included from main.c:31: scull.h:121: warning: \u2018struct file\u2019 declared inside parameter list scull.h:121: warning: its scope is only this definition or declaration, which is probably not what you want scull.h:121: warning: \u2018struct inode\u2019 declared inside parameter list scull.h:123: warning: \u2018struct file\u2019 declared inside parameter list scull.h:123: warning: \u2018struct inode\u2019 declared inside parameter list scull.h:125: warning: \u2018struct file\u2019 declared inside parameter list scull.h:125: warning: \u2018struct inode\u2019 declared inside parameter list scull.h:127: warning: \u2018struct file\u2019 declared inside parameter list scull.h:127: warning: \u2018struct inode\u2019 declared inside parameter list main.c: In function \u2018scull_trim\u2019: main.c:74: warning: implicit declaration of function \u2018kfree\u2019 main.c: At top level: main.c:136: warning: \u2018struct file\u2019 declared inside parameter list main.c:136: warning: \u2018struct inode\u2019 declared inside parameter list main.c: In function \u2018scull_open\u2019: main.c:138: warning: implicit declaration of function \u2018MINOR\u2019 main.c:138: error: dereferencing pointer to incomplete type main.c:138: error: request for member \u2018i_rdev\u2019 in something not a structure or union main.c:139: error: dereferencing pointer to incomplete type main.c:139: error: request for member \u2018i_rdev\u2019 in something not a structure or union main.c:145: error: dereferencing pointer to incomplete type main.c:145: error: request for member \u2018f_op\u2019 in something not a structure or union main.c:145: warning: statement with no effect main.c:146: error: dereferencing pointer to incomplete type main.c:146: error: request for member \u2018f_op\u2019 in something not a structure or union main.c:146: error: request for member \u2018open\u2019 in something not a structure or union main.c:146: error: called object \u2018<erroneous-expression>\u2019 is not a function main.c:146: warning: return makes integer from pointer without a cast main.c:154: error: dereferencing pointer to incomplete type main.c:154: error: request for member \u2018f_flags\u2019 in something not a structure or union main.c:154: error: invalid operands to binary & main.c:154: warning: comparison between pointer and integer main.c:158: error: dereferencing pointer to incomplete type main.c:158: error: request for member \u2018private_data\u2019 in something not a structure or union main.c:158: warning: statement with no effect main.c:160: error: \u2018MOD_INC_USE_COUNT\u2019 undeclared (first use in this function) main.c:160: error: (Each undeclared identifier is reported only once main.c:160: error: for each function it appears in.) main.c:160: warning: statement with no effect main.c: At top level: main.c:164: warning: \u2018struct file\u2019 declared inside parameter list main.c:164: warning: \u2018struct inode\u2019 declared inside parameter list main.c: In function \u2018scull_release\u2019: main.c:166: error: \u2018MOD_DEC_USE_COUNT\u2019 undeclared (first use in this function) main.c:166: warning: statement with no effect main.c: In function \u2018scull_follow\u2019: main.c:175: warning: implicit declaration of function \u2018kmalloc\u2019 main.c:175: error: \u2018GFP_KERNEL\u2019 undeclared (first use in this function) main.c:175: warning: assignment makes pointer from integer without a cast main.c:176: warning: implicit declaration of function \u2018memset\u2019 main.c:176: warning: incompatible implicit declaration of built-in function \u2018memset\u2019 main.c: At top level: main.c:189: warning: \u2018struct file\u2019 declared inside parameter list main.c:189: warning: \u2018struct inode\u2019 declared inside parameter list main.c:190: error: conflicting types for \u2018scull_read\u2019 scull.h:121: error: previous declaration of \u2018scull_read\u2019 was here main.c: In function \u2018scull_read\u2019: main.c:191: error: dereferencing pointer to incomplete type main.c:191: error: request for member \u2018private_data\u2019 in something not a structure or union main.c:191: warning: initialization from incompatible pointer type main.c:195: error: dereferencing pointer to incomplete type main.c:195: error: request for member \u2018f_pos\u2019 in something not a structure or union main.c:218: warning: implicit declaration of function \u2018memcpy_tofs\u2019 main.c:221: error: dereferencing pointer to incomplete type main.c:221: error: request for member \u2018f_pos\u2019 in something not a structure or union main.c:221: warning: statement with no effect main.c: At top level: main.c:226: warning: \u2018struct file\u2019 declared inside parameter list main.c:226: warning: \u2018struct inode\u2019 declared inside parameter list main.c:227: error: conflicting types for \u2018scull_write\u2019 scull.h:123: error: previous declaration of \u2018scull_write\u2019 was here main.c: In function \u2018scull_write\u2019: main.c:228: error: dereferencing pointer to incomplete type main.c:228: error: request for member \u2018private_data\u2019 in something not a structure or union main.c:228: warning: initialization from incompatible pointer type main.c:233: error: dereferencing pointer to incomplete type main.c:233: error: request for member \u2018f_pos\u2019 in something not a structure or union main.c:244: error: \u2018GFP_KERNEL\u2019 undeclared (first use in this function) main.c:244: warning: assignment makes pointer from integer without a cast main.c:247: warning: incompatible implicit declaration of built-in function \u2018memset\u2019 main.c:250: warning: assignment makes pointer from integer without a cast main.c:258: warning: implicit declaration of function \u2018memcpy_fromfs\u2019 main.c:264: error: dereferencing pointer to incomplete type main.c:264: error: request for member \u2018f_pos\u2019 in something not a structure or union main.c:264: warning: statement with no effect main.c: At top level: main.c:273: warning: \u2018struct file\u2019 declared inside parameter list main.c:273: warning: \u2018struct inode\u2019 declared inside parameter list main.c:274: error: conflicting types for \u2018scull_ioctl\u2019 scull.h:127: error: previous declaration of \u2018scull_ioctl\u2019 was here main.c: In function \u2018scull_ioctl\u2019: main.c:292: warning: implicit declaration of function \u2018verify_area\u2019 main.c:292: error: \u2018VERIFY_WRITE\u2019 undeclared (first use in this function) main.c:294: error: \u2018VERIFY_READ\u2019 undeclared (first use in this function) main.c:314: error: subscripted value is neither array nor pointer main.c:314: warning: comparison between pointer and integer main.c:314: error: case label does not reduce to an integer constant main.c:315: warning: implicit declaration of function \u2018get_user\u2019 main.c:322: error: subscripted value is neither array nor pointer main.c:322: warning: comparison between pointer and integer main.c:322: error: case label does not reduce to an integer constant main.c:323: warning: implicit declaration of function \u2018put_user\u2019 main.c:329: error: subscripted value is neither array nor pointer main.c:329: warning: comparison between pointer and integer main.c:329: error: case label does not reduce to an integer constant main.c:340: error: subscripted value is neither array nor pointer main.c:340: warning: comparison between pointer and integer main.c:340: error: case label does not reduce to an integer constant main.c:348: error: subscripted value is neither array nor pointer main.c:348: warning: comparison between pointer and integer main.c:348: error: case label does not reduce to an integer constant main.c:355: error: subscripted value is neither array nor pointer main.c:355: warning: comparison between pointer and integer main.c:355: error: case label does not reduce to an integer constant main.c: At top level: main.c:392: warning: \u2018struct file\u2019 declared inside parameter list main.c:392: warning: \u2018struct inode\u2019 declared inside parameter list main.c:393: error: conflicting types for \u2018scull_lseek\u2019 scull.h:125: error: previous declaration of \u2018scull_lseek\u2019 was here main.c: In function \u2018scull_lseek\u2019: main.c:394: error: dereferencing pointer to incomplete type main.c:394: error: request for member \u2018private_data\u2019 in something not a structure or union main.c:394: warning: initialization from incompatible pointer type main.c:403: error: dereferencing pointer to incomplete type main.c:403: error: request for member \u2018f_pos\u2019 in something not a structure or union main.c:403: warning: assignment makes integer from pointer without a cast main.c:414: error: dereferencing pointer to incomplete type main.c:414: error: request for member \u2018f_pos\u2019 in something not a structure or union main.c:414: warning: statement with no effect main.c: At top level: main.c:423: error: variable \u2018scull_fops\u2019 has initializer but incomplete type main.c:424: warning: excess elements in struct initializer main.c:424: warning: (near initialization for \u2018scull_fops\u2019) main.c:425: warning: excess elements in struct initializer main.c:425: warning: (near initialization for \u2018scull_fops\u2019) main.c:426: warning: excess elements in struct initializer main.c:426: warning: (near initialization for \u2018scull_fops\u2019) main.c:427: warning: excess elements in struct initializer main.c:427: warning: (near initialization for \u2018scull_fops\u2019) main.c:428: warning: excess elements in struct initializer main.c:428: warning: (near initialization for \u2018scull_fops\u2019) main.c:429: warning: excess elements in struct initializer main.c:429: warning: (near initialization for \u2018scull_fops\u2019) main.c:430: warning: excess elements in struct initializer main.c:430: warning: (near initialization for \u2018scull_fops\u2019) main.c:431: warning: excess elements in struct initializer main.c:431: warning: (near initialization for \u2018scull_fops\u2019) main.c:432: warning: excess elements in struct initializer main.c:432: warning: (near initialization for \u2018scull_fops\u2019) main.c: In function \u2018init_module\u2019: main.c:446: warning: implicit declaration of function \u2018register_chrdev\u2019 main.c:448: warning: implicit declaration of function \u2018printk\u2019 main.c:448: error: \u2018KERN_WARNING\u2019 undeclared (first use in this function) main.c:448: error: expected \u2018)\u2019 before string constant main.c:457: error: \u2018GFP_KERNEL\u2019 undeclared (first use in this function) main.c:457: warning: assignment makes pointer from integer without a cast main.c:462: warning: incompatible implicit declaration of built-in function \u2018memset\u2019 main.c:476: warning: implicit declaration of function \u2018register_symtab\u2019 main.c:488: warning: implicit declaration of function \u2018unregister_chrdev\u2019 make: *** [main.o] Error 1
ArmStrong机器人#3 · 2009/8/31
没那么可怕,就是个头文件包含路径的问题,动手解决一下吧 【 在 hman (Wizard) 的大作中提到: 】 : Just a mess, 您真想看? : make: Warning: File `.depend' has modification time 6.7e+07 s in the future : cc -D__KERNEL__ -DMODULE -Wall -O2 -I/usr/include -c -o main.o main.c : ...................