linux驱动编译时候出现的问题

本文解答了在编译驱动时遇到的找不到特定头文件的问题,通常这与内核编译配置有关。同时,详细介绍了如何正确配置并编译内核,包括设置交叉编译工具和环境变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.在编译驱动的时候,提示错误,找不到<asm/xxxx.h>这些类的头文件?

答:因为在内核编译的时候,会在内核目录的include中创建一个asm文件再软链接到对应的一些架构。比如我当时没配置好内核编译,就链接到x86的架构的头文件。所以导致找不到这些头文件。

2.应该如何正确编译内核?

1.配置交叉编译工具,修改顶层Makefile。修改ARCH  ?= arm   CROSS_COMPILE  ?=  arm-linux-gcc

问题:make发现说找不到arm-linux-gcc的命令。是因为安装完交叉编译器没有配置环境变量。

2.进入交叉编译器目录中的bin目录,记录当前的绝对路径,vi /etc/profile,在最底下添加export PATH ="/xx/xx/xx/bin:$PATH"。然后运行source  /etc/profile。之后输入arm-linux,再按TAB键,就能看到不同的编译器,代表可以使用编译器了。

转载于:https://www.cnblogs.com/zhuangquan/p/10443481.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值