阅读:1411回复:4
救命,驱动文件加载错误!
我编译驱动成功,然后加载,出现错误:
insmod usbsample.o usbsample.o: unresolved symbol usb_submit_urb_Rsmp_4f4fbcf1 usbsample.o: unresolved symbol usb_set_protocol_Rsmp_364d0459 usbsample.o: unresolved symbol usb_register_Rsmp_4b1c4b44 usbsample.o: unresolved symbol usb_unlink_urb_Rsmp_b69f8958 usbsample.o: unresolved symbol usb_deregister_Rsmp_be3371d2 usbsample.o: unresolved symbol sprintf_Rsmp_1d26aa98 usbsample.o: unresolved symbol kfree_Rsmp_037a0cba usbsample.o: unresolved symbol printk_Rsmp_1b7d4074 usbsample.o: unresolved symbol usb_set_idle_Rsmp_1c628d3b usbsample.o: unresolved symbol kmalloc_Rsmp_93d4cfe6 usbsample.o: Hint: You are trying to load a module without a GPL compatible license and it has unresolved symbols. Contact the module supplier for assistance, only they can help you. |
|
|
沙发#
发布于:2003-01-16 16:01
你的程序里面是不是有
#define __SMP__ 如果有的话,请将它去掉,除非你的程序运行在SMP上 [编辑 - 1/16/03 by ellipse] |
|
板凳#
发布于:2003-01-16 17:56
我没有定义啊,到底是怎么回事呢
|
|
|
地板#
发布于:2003-01-16 18:05
是模块与运行的内核不符引起的。
最好使用自己编译的内核,在编译模块时指定系统所使 用的源代码路经。 |
|
地下室#
发布于:2003-01-17 08:54
你所调用的这些函数是在那个头文件里定义的?
附加一句,你试试看 在你include 那些头文件(在这些头文件中声明了那些 不能被解析的函数)前加上这样一段 #ifdef __SMP__ #undef __SMP__ #endif 你这个错误是由于insmod加载你的模块的时候遇到了不能 解析的符号, 发生这个错误的原因一个是你定义了__SMP__可你的机器不 是SMP,再一个就是版本信息不对,那些函数后面那一大堆 数字就是CRC计算的结果用来验证版本的。 [编辑 - 1/17/03 by ellipse] |
|