紧急求助! 内核模块编译出错!

重复贴和参考价值不大的帖子,版主维护
回复
jhx0301
帖子: 27
注册时间: 2007-11-16 15:52
来自: 杭州
送出感谢: 0
接收感谢: 0
联系:

紧急求助! 内核模块编译出错!

#1

帖子 jhx0301 » 2007-11-23 12:04

这是我在ubuntu7.10下面的编写的内核模块,gcc已经完全安装好了

#define __KERNEL__
#define MODULE
#include <linux/kernel.h> /*printk*/
#include <linux/module.h>
#include<linux/init.h>
MODULE_LICENSE( "Dual BSD/GPL" );
int my_init(void)
{
printk( "hello" );
return 0;
}

int my_exit( void )
{
printk( "exit" );
return 0;
}
module_init(my_init);
module_exit(my_exit);
由于gcc头文件默认路径是/usr/include,所以我用-B /路径 添加了我需要的头文件路径 编译执行如下:
root@jhx-ubuntu:~# g++ -B /usr/src/linux-headers-2.6.22-14-generic/ -o hello hello.c
在包含自 /usr/src/linux-headers-2.6.22-14-generic/include/linux/module.h:21 的文件中,
从 hello.c:4:
/usr/src/linux-headers-2.6.22-14-generic/include/asm/module.h:64:2: 错误: #error unknown processor family
/usr/src/linux-headers-2.6.22-14-generic/include/linux/stddef.h:16: 错误: expected identifier before ‘false’
/usr/src/linux-headers-2.6.22-14-generic/include/linux/stddef.h:16: 错误: expected `}' before ‘false’
/usr/src/linux-headers-2.6.22-14-generic/include/linux/stddef.h:16: 错误: expected unqualified-id before ‘false’
/usr/src/linux-headers-2.6.22-14-generic/include/linux/stddef.h:18: 错误: expected declaration before ‘}’ token
不知道上面的问题怎么解决?我在redhat9.0上面用的很好阿 没有出现这种情况 是不是内核版本不一样?大家帮帮我啊!不胜感激!
头像
yiding_he
帖子: 2677
注册时间: 2006-10-25 18:10
来自: 长沙
送出感谢: 0
接收感谢: 0
联系:

#2

帖子 yiding_he » 2007-11-23 12:12

这么专业的帖子,怎么能发到初学者板块呢???
头像
SuperWar3Fan
帖子: 1263
注册时间: 2006-05-20 6:25
来自: 山东淄博
送出感谢: 0
接收感谢: 0
联系:

#3

帖子 SuperWar3Fan » 2007-11-23 14:25

#define __KERNEL__
#define MODULE


这个定义,是不是和某些地方冲突了。。
回复

回到 “归档贴”