linux下驱动编译报错EEROR: "***" [***.ko] undefined! 的错误原因和解决办法

出现错误的原因:在编译驱动出现这种ERROR”xxx函数” [*.ko] undefined!错误一般是xxx函数找不到,或者说没定义,驱动编译的时候相关的函数没有找到!
有以下解决方法:
1.先找到调用报错信息中的”xxx函数”的.c文件,然后找定义的“xxx函数“的头文件没包含或者是路径不对,或者添加EXPORT_SYMBO(xx函数)导出到内核符号表。
2.定义相关函数或者用EXPORT_SYMBOL(xxx函数)的.c文件的当前路径的Makefile里面的编译规则没有加上相关的.o文件的依赖。
3.同路径的Makfile的编译规则是obj-y或者是obj-m而在make ARCH=arm menuconfig时没有选择对应的编译成y或者m,导致没有编译进去,xx.c调用此.c定义的函数找不到。

猜你喜欢

转载自blog.csdn.net/tsb151/article/details/54377035