概要
当初学者开始了解乐鑫的产品时常常关于开发环境感到头疼,这里讲一下初学者经常遇到的找不到头文件路径的问题。
这里我用一个乐鑫的示例工程作为演示。图比较多,请耐心浏览。
解决步骤
1.打开一个乐鑫的工程示例,这里用“Hello world”示例演示。



编译完成后就不报错了。
2.添加自己创建的库
在实际过程中,我们要对工程进行模块化,所以就必须要学会创建添加自己的库。
首先 ,创建一个组件文件夹,名字是组件(components),其他名字应该也可以但是为了防止各种问题,就使用components。

之后在这个文件夹中添加 .txt 文件,名字命名为CMakeLists.txt,如图

之前在网上看到各种手动添加的方法,但实际效果甚微,这里讲一下一键添加的方法。
我先创建一个自己的.c和.h文件,之后再引用到main中就是找不到路径,如图


这时候我们右击刚刚创建的CMakeLists.txt ,点击CMakeLists.txt文本编辑器:





然后再选择文件位置,如图


这里之所以填 " . ",是因为我们的12c.c直接在components中,意思是i2c文件就在本文件夹中,如果是在components中再创建一个文件夹存放i2c文件,那这里就还要加上里面的这个文件夹路径,比如components中再创建一个文件夹叫code,code中存放i2c的.c和.h文件,这里就填".\code"(引号为了说明,填的时候不填)。填完不要忘记点击上边的Save。不点Save是没用的。
这时候打开CMakeLists.txt,里边就不是空的了,应该是这样的:

然后别急着编译,直接编译还是会报错,我们要先清除预编译缓存,如图

然后再点击编译,可以看到问题解决了。

3.添加esp-idf基本库报错解决方案
刚刚上边说的是自己库该怎么添加,但是在我们自己库中引用官方库的时候也找不到路径,这里顺便说一下。
如果我们在自己的库中直接添加基本库,就会出现和上面一样的问题,找不到路径,如图:

这里提示了一个头文件找不到路径,事实上这三个都找不见,这时候我们右击创建的CMakeLists.txt ,点击CMakeLists.txt文本编辑器:

选中要记得点击Add

然后再添加esp_timer,就是我们要添加的基本库文件的文件名

这是我们再编译就没有问题了。

这里driver是包含了所有带driver的路径了所以"driver/i2c.h"和"driver/gptimer.h"都没有问题了。
小结
以上是本人所知道的一种方式,个人感觉是比较方便的。目的是帮助初学者使用vs环境下的esp-idf,如有大神,忘莫笑,也请多多指教。
3528

被折叠的 条评论
为什么被折叠?



