阅读:1785回复:7
linux简单驱动编译问题,请大家帮忙!
编译下面HELLO时,能够通过,且可正常装载。
#include <linux/init.h> #include <linux/module.h> MODULE_LICENSE("Dual BSD/GPL"); static int hello_init(void) { printk("Hello, iceboy !\n"); return 0; } static void hello_exit(void) { printk("Goodbye, iceboy !\n"); } module_init(hello_init); module_exit(hello_exit); 但是下面的简单字符驱动,却编译不过。如下: #define __KERNEL__ #define MODULE #include <linux/module.h> #include <linux/kernel.h> #include <linux/fs.h> ssize_t test_read(struct file * fp, char *cp , size_t size, loff_t * off) { return 0; } struct file_operations test = { read:test_read, }; int init_module(void) { return 0; } void cleanup_module(void) { } 报的错误是: xtest.C:23: variable `file_operations test' has initializer but incomplete type xtest.C:23: storage size of `test' isn't known 我的内核是2.4的,编译环境: gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5) 大侠们,多多指教啊! |
|
沙发#
发布于:2008-12-13 21:56
不用2.4了.
|
|
|
板凳#
发布于:2008-12-13 23:44
内核其他人定的。哎。。。
|
|
地板#
发布于:2008-12-17 15:39
哎,就没高手愿意帮忙吗?
|
|
地下室#
发布于:2008-12-18 16:09
我今天刚学习编译hello.c,好多错误
能否把你的maikefile文件贴出来看看 我学习一下。。。。 |
|
5楼#
发布于:2008-12-19 15:27
直接用的命令编译的
|
|
6楼#
发布于:2009-02-17 10:58
是用的什么命令呢
我也使用命令,但还是有问题阿 |
|
7楼#
发布于:2009-02-17 12:43
现在还有问题?
|
|
|