linux下模块的编译,写好源文件了,最简单的一个hello的C程序,怎么写makefile文件,参照好多资料,都不行 50

源文件:hello.c#include<linux/init.h>#include<linux/module.h>MODULE_LICENSE("DualBSD/GPL"... 源文件:hello.c
#include <linux/init.h>
#include <linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");
static int hello_init(void)
{
printk(KERN_ALERT "hello,world\n");
return 0;
}
static void hello_exit(void)
{
printk(KERN_ALERT "goodbye, cruel world\n");
}
module_init(hello_init);
module_exit(hello_exit);

网上参考的makefile:
obj-m := modules.o
modules-objs:= hello.o
KDIR := /lib/modules/`uname -r`/build
PWD := $(shell pwd)

default:
make -C $(KDIR) M=$(PWD) modules
clean:
rm -rf **.o .* .cmd *.ko *.mod.c .tmp_versions
命令行执行:make,出现:make:没什么可以做的为default
怎么解决啊,大家帮帮忙
linux/init.h
linux/module.h
这两个头文件在哪
展开
 我来答
飞我一年
2012-04-06 · 超过31用户采纳过TA的回答
知道答主
回答量:107
采纳率:0%
帮助的人:68.5万
展开全部
Makefile的写法,注意KDIR的根据你的源码目录更改,我的是ubuntu11.04的源码目录。

obj-m :=hello.o

KDIR := /usr/src/linux-headers-2.6.38-8-generic/
all:
make -C $(KDIR) M=$(shell pwd) modules
clean:
make -C $(KDIR) M=$(shell pwd) clean
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
我心若氺
2011-05-23 · 超过59用户采纳过TA的回答
知道小有建树答主
回答量:192
采纳率:0%
帮助的人:165万
展开全部
我是gcc ./hello.c -o hello
然后./hello
你试试
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
slqbl
2011-05-23 · TA获得超过1910个赞
知道小有建树答主
回答量:1499
采纳率:0%
帮助的人:1513万
展开全部
你写的不对,请参考这个网站http://www.chinaunix.net/jh/23/408225.html,如果看了还不会,可以私聊我
例子:
main.o : hello.c init.h module.h
gcc -c hello.c
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
上帝的帝2
2011-05-23 · 超过33用户采纳过TA的回答
知道答主
回答量:256
采纳率:0%
帮助的人:113万
展开全部
先g++ -c hello.c
g++ -o hello.o
./hello

教你个最简单的,直接在指令的地方
make hello
再 ./hello
就好了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式