阅读:992回复:4
我也做了一个makefile,不知道错误出现的原因!
当我编好一个Makefile文件,用make后,
我又用以下命令:#insmod ***.o 出现以下错误: ***.o Couldn\'t find the kernel version the module was compiled for 这是因为什么错误而出现的这种错误呢? 当我用gcc直接编译后 用#insmod ***.o 就可以成功的加载, 这两者有何区别? [编辑 - 12/12/02 by gyh2002] |
|
沙发#
发布于:2002-12-13 12:29
版本不对。
|
|
板凳#
发布于:2002-12-13 13:18
区别在于makefile指定了库,gcc你没有指定,用了默认的路径。
|
|
地板#
发布于:2002-12-13 20:58
什么库呢?
那我该如何做,才能解决这个错误? |
|
地下室#
发布于: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 |
|