当前位置: 技术问答>linux和unix
linux设备驱动开发 找不到头文件
来源: 互联网 发布时间:2016-06-13
本文导语: #include #include int text_init(void) { printk("Hello World!"); return 0; } void text_cleanup(void) { printk("Goodbye World!"); } module_init(text_init); module_exit(text_cleanup); linux/module.h no such file or directory l...
#include
#include
int text_init(void)
{
printk("Hello World!");
return 0;
}
void text_cleanup(void)
{
printk("Goodbye World!");
}
module_init(text_init);
module_exit(text_cleanup);
linux/module.h no such file or directory
linux/init.h no such file or directory
是什么原因?
usr/include/下没有 module.h & init.h version.h 该怎么办?
#include
int text_init(void)
{
printk("Hello World!");
return 0;
}
void text_cleanup(void)
{
printk("Goodbye World!");
}
module_init(text_init);
module_exit(text_cleanup);
linux/module.h no such file or directory
linux/init.h no such file or directory
是什么原因?
usr/include/下没有 module.h & init.h version.h 该怎么办?
|
Makefile:
obj-m:=sample.o
KERNELDIR:=/usr/src/kernels/2.6.18-128.el5-i686
CC:=gcc
PWD := $(shell pwd)
modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
modules_install:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install
这是一个简单的驱动的Makefile模板 将KERNELDIR指向你的linux源码的位置就可以了
obj-m:=sample.o
KERNELDIR:=/usr/src/kernels/2.6.18-128.el5-i686
CC:=gcc
PWD := $(shell pwd)
modules:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules
modules_install:
$(MAKE) -C $(KERNELDIR) M=$(PWD) modules_install
这是一个简单的驱动的Makefile模板 将KERNELDIR指向你的linux源码的位置就可以了
|
编译时指定头文件目录
-I/usr/src/xxxlinuxxxx/include (路径自己对一下)
-I/usr/src/xxxlinuxxxx/include (路径自己对一下)
|
VPATH = dir_1 : /usr/src/linux_version_x/
make工具会自动去这两个目录dir_1, /usr/src/linux_version_x/查打相应的.h, .c文件。上当之间用 : 号分隔。
有关Makefile更详细的信息,去查makefile的有关文档。
make工具会自动去这两个目录dir_1, /usr/src/linux_version_x/查打相应的.h, .c文件。上当之间用 : 号分隔。
有关Makefile更详细的信息,去查makefile的有关文档。