gcc编译简单内核出错!!!

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
jhx0301
帖子: 27
注册时间: 2007-11-16 15:52
来自: 杭州
联系:

gcc编译简单内核出错!!!

#1

帖子 jhx0301 » 2007-11-22 17:04

下面是一个很简单的hello内核模块程序 我已经用sudo apt-get install build-essential安装gcc了
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
int HELLO(void){printk("hello!\n");return 1;}
void BYE(void){printk("bye!\n");}

module_init(HELLO);
module_exit(BYE);

用gcc执行
root@jhx-ubuntu:~/c# gcc -c hello.c
hello.c:1:26: 错误: linux/init.h:No such file or directory
hello.c:2:26: 错误: linux/module.h:No such file or directory

是不是gcc默认的头文件路径有问题呢?该如何解决呢?
liaomarket
帖子: 38
注册时间: 2007-10-25 20:12

#2

帖子 liaomarket » 2007-11-22 22:24

试一下安装内核头文件包:
uname -r
apt-get install linux-headers-'kernel version'
将umane -r显示的替换kernel-version

随便问一下,这两个命令可不可以合成一个,应该怎么写?
头像
SuperWar3Fan
帖子: 1263
注册时间: 2006-05-20 6:25
来自: 山东淄博
联系:

#3

帖子 SuperWar3Fan » 2007-11-23 15:03

sudo apt-get install linux-headers-`uname -r`

"`"在~下面那一个,也就是ESC键的下面一个键。
Einsxu
帖子: 26
注册时间: 2008-03-18 13:23

#4

帖子 Einsxu » 2008-06-21 14:50

你好,在用了sudo apt-get install linux-headers-`uname -r` 之后显示共升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 0 个软件未被升级,
而且还是提示
linux/init.h:No such file or directory
hello.c:8:26: 错误: linux/module.h:No such file or directory
怎么办啊
:cry:
回复