当前位置: 技术问答>linux和unix
奇怪的问题-cann't find module.h
来源: 互联网 发布时间:2016-01-29
本文导语: 随便写了个helloworld的驱动模块如下: //helloworld.c #define MODULE include int init_module() { printk(" hello world !n’); return 1; } int cleanup_module() { printk(" I will shut down myself...
随便写了个helloworld的驱动模块如下:
//helloworld.c
#define MODULE
include
int init_module()
{
printk(" hello world !n’);
return 1;
}
int cleanup_module()
{
printk(" I will shut down myself in kernerl mod /n)";
retutn 0;
}
gcc -c helloworld.c
显示不能找到module.h那个目录或文件
强制把module.h头文件定位到
/usr/src/...中的module.h
显示了一堆找不到其它文件的信息。
我用的是FC6系统,gcc4.1.1.1版,内核2.6.18
望哪位大侠指点下!
//helloworld.c
#define MODULE
include
int init_module()
{
printk(" hello world !n’);
return 1;
}
int cleanup_module()
{
printk(" I will shut down myself in kernerl mod /n)";
retutn 0;
}
gcc -c helloworld.c
显示不能找到module.h那个目录或文件
强制把module.h头文件定位到
/usr/src/...中的module.h
显示了一堆找不到其它文件的信息。
我用的是FC6系统,gcc4.1.1.1版,内核2.6.18
望哪位大侠指点下!
|
应该不能这样编译吧。
ifneq ($(KERNELRELEASE),)
obj-m :=app.o
else
PWD :=$(shell pwd)
KVER ?=$(shell uname -r)
KDIR := /lib/modules/$(KVER)/build
all:
$(MAKE) -C $(KDIR) M=$(PWD)
endif
它其实需要调用kbuild来生成ko。
ifneq ($(KERNELRELEASE),)
obj-m :=app.o
else
PWD :=$(shell pwd)
KVER ?=$(shell uname -r)
KDIR := /lib/modules/$(KVER)/build
all:
$(MAKE) -C $(KDIR) M=$(PWD)
endif
它其实需要调用kbuild来生成ko。
|
linux设备驱动开发群42013154
|
gcc -c helloworld.c????
那是编译应用程序的做法!!!!!
你没仔细看《Linux设备驱动》第三版
你到网上找到那本书的源码,里面有MAKEFILE的例子,你稍改一下就OK了
那是编译应用程序的做法!!!!!
你没仔细看《Linux设备驱动》第三版
你到网上找到那本书的源码,里面有MAKEFILE的例子,你稍改一下就OK了
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。