ldd3上的最简单的例子,怎么编译啊,请大家帮帮忙!!!!

[复制链接]
查看11 | 回复3 | 2021-1-27 06:42:40 | 显示全部楼层 |阅读模式
新手,ldd3上的最简单例子,编译不了。急!!!
hello.c文件如下
#include
#include
MODULE_LICENSE("DualBSD/GPL");
staticinthello_init(void)
{
printk(KERN_ALERT"Hello,world\n");
return0;
}
staticvoidhello_exit(void)
{
printk(KERN_ALERT"Goodbye,cruelworld\n");
}
module_init(hello_init);
module_exit(hello_exit);

Makefile如下:
ifneq($(KERNELRELEASE),)
obj-m:=hello.o//1
else
KERNELDIR?=/lib/modules/$(shelluname-r)/build//2
PWD:=$(shellpwd)//3
default:
$(MAKE)-C$(KERNELDIR)M=$(PWD)modules//4
endif
都是ldd3的例子,1234行前保证是tab键,但还是出现commandscommecebeforefirsttarget这个错误
请大家帮忙看看。谢谢。
分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:42:40 | 显示全部楼层
帮你顶下!
回复

使用道具 举报

千问 | 2021-1-27 06:42:40 | 显示全部楼层
KERNELDIR?=/lib/modules/$(shelluname-r)/build//2
编译模块之前需要先编译内核。
KERNELDIR应该是你的KERNEL的目录。
回复

使用道具 举报

千问 | 2021-1-27 06:42:40 | 显示全部楼层
引用2楼joyself的回复:KERNELDIR?=/lib/modules/$(shelluname-r)/build //2
编译模块之前需要先编译内核。
KERNELDIR应该是你的KERNEL的目录。
我已经编译过内核了,
KERNELDIR应该是你的KERNEL的目录??我怎么感觉是根目录下的/lib/modules/$(shelluname-r)/build这个啊,我看到有这个目录啊?
不懂,请指教,我用的是fedora9刚把内核升到2.6.27,内核目录是/usr/src/kernels/2.6.27这个。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行