0·ESPIDF搭建VScode环境踩坑记(找不到头文件)-创新互联

目录

创新互联建站长期为近千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为蓬安企业提供专业的网站建设、网站制作,蓬安网站改版等技术服务。拥有10余年丰富建站经验和众多成功案例,为您定制开发。

环境搭建

简单记录下自己遇到的问题:

①找不到头文件

②Cmake插件出现问题

小结

环境搭建

整体的环境搭建,网络上还是有很多教程的,这里就不重复造轮子了,可以参考下面的链接

【ESP32-IDF环境搭建之vscode环境】

官方也有出一个指导教程,可以作为辅助参考,基本还是比较顺畅的

快速入门 ESP编程指南

我选择的是ESP IDF + VScode,具体环境也可以用 ESP IDF+Espressif IDE 的官方套件组合,又或者是 Arduino+VScode 的开放生态环境进行开发

乐鑫官方 ESP-IDF,这是官方的首推的开发方式,能够大限度发挥ESP32的性能,代价就是不方便或者说是开发不是那么高效;

乐鑫官方出品 Arduino core for the ESP32,官方出品的 Arduino 编程软件支持,上手简单,大部分编程语法和 Arduino 兼容,借助于 Arduino 生态,有非常丰富的资源可直接使用

每个组合各有各的优势,可以根据自己的开发习惯来选择。

环境搭好之后,可以去跑下例程,如果是默认安装路径的话,在下面这个位置应该可以找到“hello world”文件夹

C:\Espressif\frameworks\esp-idf-v4.3.2\examples\get-started

用vscode—打开文件夹—hello world,然后选择COM和esp模块,打开hello_world_main.c就可以编译和下载了,注意vscode最下方工具栏

简单记录下自己遇到的问题: ①找不到头文件

一般来说,初次编译完后,装了C/C++插件之后会有一个自动提示,然后点击“是”之后就自动解决了

但是我的就一直没有出现(可能是版本不同)网上也没有找到很好的解决方法

半夜,问了一位大佬,他说:

不需要任何插件,查看-命令面板-点击“添加vscode配置文件夹”,左下角点击 垃圾箱  清理一下,重新编译即可解决找不到头文件的问题。 

然后C/C++插件弹出了自动配置的提示,然后成功解决!

然而,非常难过的是,过了一天,换了一个例程,又出现这个问题了,而且此方法居然失效了~又看了十几个贴子,尝试了各种方法:

  1. 先在Cmakelist中添加路径
    EXTRA_COMPONENT_DIRS += $(PROJCT_PATH)/components/blink
  2. 又尝试在.json文件中添加PATH路径
    "C:/Espressif\frameworks/esp-idf-v4.3.2/components/**“
  3. 加了一个component文件夹,手动将官方idf一堆头文件中将用到的文件拖到了同一个层级的根目录文件夹中(其他头文件都识别出来了,但是freertos头文件死活识别不出来,也不能跳转到定义)
  4. 更换头文件命名方式 因为例程里面的#include用的“  ”索引方式,可能出现头文件覆盖问题,说不定因为之前配置过stm32,导致出现了的错误识别。
  5. 删掉.vscode文件夹,清除build文件,然后重启。寄希望于触发系统自动配置条件,获得正常流程中的弹窗选项(可是并没有出现)
  6. ...

以上方法,有些带来了一点效果(但也不完全),又触发了新的bug,由于理解尚浅,无法直击要害,只能先mark一下,以后熟练了再捣鼓。估摸着是是版本或者系统问题,别人的C/C++插件都会自动弹出选项、系统自动找到头文件路径,但是到了我这就需要一通操作,难道这台笔记本真的和ESP IDF无缘了吗?难道我就要换种方案了吗?

忽然想起来,昨天不是有个能跑起来的吗?(不知道怎么触发但是能够自动内联到esp-idf的头文件)那为什么不把昨天的研究一下,看看系统自动配置是怎么解决问题的。然后发现,系统弹出选项后的.json文件是不一样的,如下面的代码块:

//先使用 control+shift+p 搜索并点击:C/C++编辑配置(JSON)
//然后会发现出现了.vscode文件夹
//使用下面的代码替换 c_cpp_properities.json 文件里面的代码

{
    "configurations": [
        {
            "name": "ESP-IDF",
            "compilerPath": "C:\\Espressif\\tools\\riscv32-esp-elf\\esp-2021r2-8.4.0\\riscv32-esp-elf\\bin\\riscv32-esp-elf-gcc.exe",
            "cStandard": "c11",
            "cppStandard": "c++17",
            "includePath": [
                "${config:idf.espIdfPath}/components/**",
                "${config:idf.espIdfPathWin}/components/**",
                "${config:idf.espAdfPath}/components/**",
                "${config:idf.espAdfPathWin}/components/**",
                "${workspaceFolder}/**"
            ],
            "browse": {
                "path": [
                    "${config:idf.espIdfPath}/components",
                    "${config:idf.espIdfPathWin}/components",
                    "${config:idf.espAdfPath}/components/**",
                    "${config:idf.espAdfPathWin}/components/**",
                    "${workspaceFolder}"
                ],
                "limitSymbolsToIncludedHeaders": false
            }  
        }
    ],
    "version": 4
}

复制粘贴后,完美解决了,于是将其存为副本,未来保命使用。

②Cmake插件出现问题

按照流程配置好环境的时候,一般会自动下载一个Cmake tools,这个插件有时可能会出现意料之外的错误,可以在插件里面找到Cmake tools--右键 禁用工作区 再试一下。

小结

整体的环境搭建来说还是比较顺利的,没有遇到非常奇怪的bug,不过相较于STM32的环境配置还是要麻烦一些,目前板子还没到,所以这两天先预热一下^ ^,下一篇会对整理《ESP32-C物联网开发实战》对原理和一些基础的代码板块进行分析。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

网页标题:0·ESPIDF搭建VScode环境踩坑记(找不到头文件)-创新互联
当前网址:https://www.cdcxhl.com/article2/ceoiic.html

成都网站建设公司_创新互联,为您提供营销型网站建设微信公众号静态网站品牌网站制作标签优化建站公司

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

营销型网站建设