解决“检测到 #include 错误。请更新 includePath”问题和“无法打开 源 文件 "avr/pgmspace.h"”问题(VSCode中进行Arduino开发)

配置好VSCode的Arduino环境后可能会在编写代码时出现以下错误

检测到 #include 错误。请更新 includePath。已为此翻译单元(E:\abc.ino)禁用波形曲线。C/C++(1696)

无法打开 源 文件 "avr/pgmspace.h" (dependency of "C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\Arduino.h")C/C++(1696)

这个问题是由于VSCode找不到对应的文件导致的,解决方法是,进入项目文件夹中的.vscode文件夹(用VSCode打开项目文件夹会自动新建),将c_cpp_properties.json当中的

改为

保存该json文件即可

解决思路是在Arduino安装目录当中查找所需的头文件路径,添加到includePath当中。
例如上面的错误信息是缺少avr/pgmspace.h,通过搜索发现该文件位于

C:\Program Files (x86)\Arduino\hardware\tools\avr\avr\include\avr\pgmspace.h

则说明VSCode会在

C:\Program Files (x86)\Arduino\hardware\tools\avr\avr\include

这个目录下寻找对应文件,将该目录添加至includePath当中即可
(目录与目录之间需要用英文逗号分隔,添加目录时注意Windows的路径分割符为反斜杠\,而在配置文件中单个反斜杠是转义字符,因此用双反斜杠\\来分割路径)

同理,例如我需要用到Keyboard.h之类的库而VSCode报无法打开源文件,则可以在Arduino安装目录当中搜索Keyboard.h,定位到

C:\Program Files (x86)\Arduino\libraries\Keyboard\src

为了使用libraries目录当中的所有头文件,可以将includePath改为以下形式

其中\\**表示在该路径及其所有子目录下寻找

2020.01.07

posted @   wh201906  阅读(25154)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
点击右上角即可分享
微信分享提示