问一下,为什么代码在RedHat里面gcc编译出错,提示找不到module.h等头文件

在网上拷贝了一些关于linux钩子的函数使用,问一下,为什么代码在RedHat里面gcc编译出错,提示找不到module.h等头文件,然后我下了3.2.6的内核解压出来把... 在网上拷贝了一些关于linux钩子的函数使用,问一下,为什么代码在RedHat里面gcc编译出错,提示找不到module.h等头文件,然后我下了3.2.6的内核解压出来把module.h拷到usr/include/linux目录下但是出了一大堆关于头文件内部的问题,,怎么解决啊
今天我在虚拟机里查看了我的linux 内核版本是2.6.18的
然后我下下来拷贝到/usr/src 里面
源代码里面是这样的
#include </linux/module.h>
......

我在编译的时候是这样的
gcc -l /usr/src/include -o test.c
在 /usr/src/include/linux目录下面明明有module.h这个文件,但为什么他总是说不存在呢
我使用find /usr/src/include/linux module.h
他也提示没有,但是明明有嘛。。。。
展开
 我来答
handsoul
推荐于2016-01-08 · TA获得超过955个赞
知道小有建树答主
回答量:500
采纳率:0%
帮助的人:756万
展开全部
你拷贝到/usr/include/linux的module.h先删除了,根本不是在这个目录
你需要首先安装对应内核版本的头文件,不是随便一个版本就可以~一般情况下内核头文件放在/usr/src/下面。
你这个钩子函数一看就知道是运行在内核空间的,以模块的方式安装使用的,不是你直接就可以用gcc安装的~最简单的办法是用makefifle,具体操作你找下如何编译内核模块或者看下源码自带的说明文档。

PS:你是全部都拷贝进去了吗?这个.h本身会有很多其他的引用.
另外,这个编译时我上面说了用makefile来做,你看下这里:
http://zhidao.baidu.com/question/262194193.html
huaxiadiy
2012-03-02
知道答主
回答量:1
采纳率:0%
帮助的人:1653
展开全部
我的也是这样啊 搞了几天,试了各种办法都木有用,楼主搞定了吗,可以告诉下解决办法不
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
你泪料激恋6
2012-02-28 · TA获得超过2131个赞
知道小有建树答主
回答量:686
采纳率:0%
帮助的人:992万
展开全部
btw, find 的提示你看了么??? 用法不对啊~~~~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蓝雨之下
2012-02-20
知道答主
回答量:18
采纳率:0%
帮助的人:13.5万
展开全部
从源程序开始检查程序是否有不能执行的编译
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 3条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式