ubuntu64位最新系统安转rtl8821ce无线驱动时,make报错,求助怎么解决?

rtl8821ce文件放在桌面,makefile也修改了地址,make报错
make报错,感觉是地址对了,不知道什么原因怎么解决

1个回答

GCC找头文件有三种策略:
1.会在默认情况下指定到/usr/include文件夹(更深层次的是一个相对路径,GCC可执行程序的路径是/usr/bin,那么它在实际工作时指定头文件头径是一种相对路径方法,换算成绝对路径就是/usr/include)
2.GCC还使用了-I指定路径的方式,这一点大家都知道
3.还可以使用一个参数来指示GCC不搜索系统默认路径,这个参数我忘了,你搜一下就知道了

在编译驱动模块时,由于非凡的需求必须强制GCC不搜索系统默认路径,也就是不搜索/usr/include,要自己用-I参数来指定内核头文件路径,这个时候必须在Makefile中指定两个参数,一个是内核头文件路径,一个是强制GCC不搜索系统默认路径。在编译内核时,必须使用一个参数(强制GCC不搜索系统默认路径),否则就会引起混乱。

另,在驱动程序下面不是。下面是驱动程序的路径:(注意,这里已经预先定义好了arm平台了,所以才会自动去arm相关的底下找)
驱动程序:
#include 是在linux-2.6.29/include/linux下面寻找源文件。
#include 是在linux-2.6.29/arch/arm/include/asm下面寻找源文件。
#include 是在linux-2.6.29/arch/arm/mach-s3c2410/include/mach下面寻找源文件。

#include //最基本的文件,支持动态添加和卸载模块。Hello World驱动要这一个文件就可以了
#include //包含了文件操作相关struct的定义,例如大名鼎鼎的struct file_operations
#include //包含了对返回值的宏定义,这样用户程序可以用perror输出错误信息。
#include //对一些特殊类型的定义,例如dev_t, off_t, pid_t.其实这些类型大部分都是unsigned int型通过一连串的typedef变过来的,只是为了方便阅读。
#include //对字符设备结构cdev以及一系列的操作函数的定义。
#include //等代队列相关头文件

应用程序:
#include //包含了open()函数的flags,mode参数的宏定义。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐