__问题——解决CLion开发Linux驱动时显示头文件缺失

问题描述:

        在使用CLion开发Linux驱动时,需要引入各种头文件,比如<linux/module><linux/init>等,但是毫无例外,都会在报错提示文件或文件路径不存在。这在很大程度上限制了CLion的发挥,因为无法使用相关代码补全、静态检查等功能了,全被这个缺失的头文件挤占了。

        这个问题不是靠安装kernel-headers什么的解决的,因为这个linux驱动开发需要引入的是linux内核工程,而需要的<linux/module><linux/init>等头文件实际在linux内核工程下的includearch/arm/include

解决办法:

        解决办法非常简单,一般来说我们创建一个模块驱动工程时,需要先创建一个文件夹,然后再用CLion打开这个文件夹而不是从CLion中创建项目(因为CLion创建项目时默认的是cmake)

        所以此时如果文件夹里没有Makefile,CLion无法加载,如果有Makefile,但Makefile里面往往不会有目标all,比如下面这个led驱动的Makefile

        这种Makefile可以在终端里执行,但是CLion无法解析,也就无法把linux内核下的include、arch/arm/include等加载到外部库中,那么CLion自然无法识别<linux/module.h>等头文件

        所以得让CLion能解析这个Makefile,而CLion无法解析Makefile的原因是因为它找不到默认的构建目标all。


那么方法一就是直接到设置里面改了这个构建目标,但这个影响比较大

另一个方法就是给Makefile里面添加一个all,这样不会影响到原Makefile的功能

        


        这样做了之后就会自动把头文件给你填上,下面两个include路径是CLion解析Makefile(构建)后产生的可以看到路径确是我们需要指定的

        此时驱动里面也可以正常加载头文件里,那么代码补全、静态检查等功能就可以正常使用了

        也可以直接使用构建了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值