LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 946|回复: 4

弱弱的问个makefile的问题

[复制链接]
发表于 2007-4-14 23:35:03 | 显示全部楼层 |阅读模式
我的makefile是第2张图片中那样写的
test.c内容如下:
/*FileName:test.c*/
#define MODULE
#include <linux/module.h>
int init_module(void)
{
             printk("<1>hello,world!\n");
             return 0;
}
void cleanup_module(void)
{
             printk("<1>Goodbye cruel world!\n");
}

第1张图片是make后的错误
请高手帮忙看一下吧
谢谢

makefile这样写的时候是正确的:
CC=gcc
MODCFLAGS := -Wall -DMODULE -D__KERNEL__ -DLINUX
test.o: test.c /usr/include/linux/version.h
         $(CC) $(MODCFLAGS) -c test.c

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
发表于 2007-4-15 00:51:01 | 显示全部楼层
这是内核模块编程,要定义宏MODULE和__KERNEL__,Makefile要用正确的那个。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-15 13:57:03 | 显示全部楼层
请楼上的再详细解释一下吧
我以前没自己写过这个
我在test.c里加上了
#define MODULE
#define __KERNEL__  
还是报错
那个错的makefile应该怎么改呢
应该这两种写发都可以编译的吧
谢谢
回复 支持 反对

使用道具 举报

发表于 2007-4-15 23:30:07 | 显示全部楼层
kernel module是一个obj文件,中间代码。不是最终的执行文件。所以用了-c 选项:
  1. $(CC) $(MODCFLAGS) [color=red]-c[/color] test.c
复制代码

而那个有问题的makefile用了-o 选项。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-16 23:23:00 | 显示全部楼层
谢谢biinn
回复 支持 反对

使用道具 举报

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

本版积分规则

快速回复 返回顶部 返回列表