日期:2014-05-16  浏览次数:20746 次

请教
我在内核加载hello   world程序是出现如下:
hello.o:   kernel-module   version   mismatch
                hello.o   was   compiled   for   kernel   version   2.4.20
                while   this   kernel   is   version   2.4.20-8.
请问这是怎么回事,怎么说我的内核不匹配呢。

谢谢

------解决方案--------------------
看到上面的信息,我感觉你的系统十有八九是red hat9 ,而且内核没有升级过。实际上2.4内核和2.6内核差别还是挺大的。你如果纯粹是为了学习linux内核编程,那我建议你还是升级到2.6内核吧。
当然如果就是要在当前系统下编译,那你可以这样做,在gcc 以及各个参数之后加上这么一句:
-I/usr/src/linux-2.4.20-8/include
这个问题实际上是内核版本不一致导致的,很常见的问题