gyh2002
驱动牛犊
驱动牛犊
  • 注册日期2002-11-05
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:992回复:4

我也做了一个makefile,不知道错误出现的原因!

楼主#
更多 发布于:2002-12-12 23:46
当我编好一个Makefile文件,用make后,
我又用以下命令:#insmod ***.o
出现以下错误:
***.o Couldn\'t find the kernel version the module was compiled for
这是因为什么错误而出现的这种错误呢?
当我用gcc直接编译后 用#insmod ***.o
就可以成功的加载,
这两者有何区别?

[编辑 -  12/12/02 by  gyh2002]
unix1998
驱动老牛
驱动老牛
  • 注册日期2002-05-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2002-12-13 12:29
版本不对。
unix1998
驱动老牛
驱动老牛
  • 注册日期2002-05-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2002-12-13 13:18
区别在于makefile指定了库,gcc你没有指定,用了默认的路径。
gyh2002
驱动牛犊
驱动牛犊
  • 注册日期2002-11-05
  • 最后登录2005-03-01
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2002-12-13 20:58
什么库呢?
那我该如何做,才能解决这个错误?
omr
omr
驱动牛犊
驱动牛犊
  • 注册日期2002-09-28
  • 最后登录2003-05-22
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2002-12-14 16:39
在你的主文件包含如下三行:

#include <linux/modversions.h>
#include <linux/module.h>
#include <linux/version.h>

另外,在编译选项一定要 -I/usr/src/linux/include
然后让 /usr/src/linux 指向你具体的kernel在的位置。
比如说 ln -s linux-2.x.x.  linux
游客

返回顶部