linux 模块编译显示没有头文件

控制面板错误提示[yinlei@localhostshiyan2]$gcc-l/usr/src/kernels/2.6.32-431.11.2.el6.i686/incl... 控制面板错误提示

[yinlei@localhost shiyan2]$ gcc -l /usr/src/kernels/2.6.32-431.11.2.el6.i686/include/linux module.c -o main.exe
module.c:2:24: 错误:linux/init.h:没有那个文件或目录
module.c:3:26: 错误:linux/module.h:没有那个文件或目录
module.c:4: 错误:expected declaration specifiers or ‘...’ before string constant
module.c:4: 警告:数据定义时没有类型或存储类
module.c:6: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘hello_init’
module.c:12: 错误:expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘hello_exit’
module.c:17: 警告:数据定义时没有类型或存储类
module.c:17: 警告:函数声明中出现形参名却未指定类型
module.c:18: 警告:数据定义时没有类型或存储类
module.c:18: 警告:函数声明中出现形参名却未指定类型
[yinlei@localhost shiyan2]$

程序代码如下:

#include<linux/kernel.h>
#include<linux/init.h>
#include<linux/module.h>
MODULE_LICENSE("Dual BSD/GPL");

static int __init hello_init(void)
{
printk("Hello world/n");
return 0;
}

static void __exit hello_exit(void)
{
printk("Bye Corne/n");

}
module_init(hello_init);
module_exit(hello_exit);
~
展开
 我来答
曹晓山11
2015-07-09 · 知道合伙人互联网行家
曹晓山11
知道合伙人互联网行家
采纳数:3033 获赞数:52068
毕业南阳理工学院计算机科学与技术专业,本科学位。互联网行业从业3年工作经验,读过编程类相关书籍多本。

向TA提问 私信TA
展开全部

编写linux内核模块,需要自己编写Makefile,同时在Makefile里面制定自己的内核路径,这样才能处理提示没有头文件错误。

编译命令:

export PATH=$PATH:#编译工具链路径
export ARCH=#CPU类别(例如arm)
export CROSS_COMPILE=arm-none-linux-gnueabi-#(编译工具xx-gcc的前缀xx)
make -C #编译好的内核模块运行的Linux kernel内核源代码目录树 M=$`pwd` modules

Linux模块编译例子:

export PATH=$PATH:/usr/local/arm/4.2.2-eabi/usr/bin
#for Samsung s5pc100
export ARCH=arm
export CROSS_COMPILE=arm-none-linux-gnueabi-
make -C /home/wenxy/src/s5pc100/linux-2.6.35.5 M=$`pwd` modules
惬意还舒畅的国宝K
2014-04-23 · TA获得超过848个赞
知道小有建树答主
回答量:586
采纳率:0%
帮助的人:524万
展开全部
试试 gcc -l /usr/src/kernels/2.6.32-431.11.2.el6.i686/include module.c -o main.exe

或者 gcc -l /usr/src/kernels/2.6.32-431.11.2.el6.i686 module.c -o main.exe

“linux/init.h:没有那个文件或目录”因为 编译指定要进linux目录
追问
我试了,没用的啊?
追答
当然了,除了缺少头文件   还有语法等错误,请检查含有“错误”的提示


“module.c:4: 错误:expected declaration specifiers or ‘...’ before string constant”
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式