gcc 版本的问题
昨天我在编译我的软猫的驱动程序的时候出现了如下的提示:
/ib/modules/2.418-14/kernel/drivers/char/536epcore.o: the modules your are trying to load is compiled with a gcc version 2 compiler ,while the kernel you are runing is compiled with a gcc version 3 compiler. this is known not to work.
然后我又用gcc -I/usr/src/linux-2.4.28-14/include 536epcore.o进行编译,结果出现了很多类似的提示:
536epcore.o (.text _0X934): undefined reference to 'schedule_task_R2dC3do4'
:
:
:
collect2: ld returned 1 exit status
请各位帮忙看看
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(9)
.o文件是已经编译后的驱动。
那我应该怎么做呢?我还是不太清楚啊。
你升级内核 了吗?
这个.o文件是哪里来的?下载的?
这个.o文件是我通过make 536ep 然后 make install-536ep得到的,然后程序自动拷贝到这个目录中去的
wind,升级内核是什么意思??
wind,是不是因该depmod -a
然后insmod 536epcore
那错误的信息就是在说,原来这个文件是用gcc2来进行编译的,现在的内核工作的gcc版本是3的,所以这个模块不能正常工作,你再重新编译一下试一下
to sakulagi: 这样来加载模块是对的,不过现在的模块已经和内核不能正常的匹配了,因为所编译出来的结果不太一样,所以加载不了的
O, I see
yoyo, 你的make 命令和加载的命令是再同一台机器上做的么?
是的,就是在一台机器上作的,是不是厂家给我的驱动程序,有问题啊?