qq_26724549 2019-09-09 11:44 采纳率: 0%
浏览 1640

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

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

  • 写回答

1条回答 默认 最新

  • lxmega 2019-09-09 14:30
    关注

    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参数的宏定义。

    评论

报告相同问题?

悬赏问题

  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))
  • ¥15 如何利用mmdetection3d中的get_flops.py文件计算fcos3d方法的flops?