编译内核模块 error: void value not ignored as it ought to be

来源:互联网 发布:路由器端口限制 编辑:程序博客网 时间:2024/06/01 08:45


感谢作者:http://blog.csdn.net/nemo2011/article/details/7301469


今天编译内核模块的时候出现  error: void value not ignored as it ought to be这样的错误   

具体如下:

drivers/char/yikai2.c: In function 'globalvar_exit':drivers/char/yikai2.c:37: error: void value not ignored as it ought to bemake[2]: *** [drivers/char/yikai2.o] Error 1make[1]: *** [drivers/char] Error 2make: *** [drivers] Error 2[root@localhost linux-2.6.30.4]# 

查找对应的37位置所在的代码

 int ret = unregister_chrdev ( ......... );


我们查找该函数的所在文件.

在linux/fs.h头文件,里面定义了unregister_chrdev()函数:

extern void unregister_chrdev(unsigned int,const char *);

对void类型函数进行取值,所以报错.

我们将其改为:

extern int unregister_chrdev(unsigned int,const char *);

再编译即可通过.




原创粉丝点击