Arduino vscode:标识符“ sprintf”未定义

问题描述

我刚刚为VSCode安装了vscode-arduino插件,因为我真的想停止在那个可怕的IDE中工作。在设置它时,我遇到了两个问题,其中一个问题要求我将已安装的arduino IDE降级到1.8.6版,另一个问题要求我添加定义:USBCON到我的c_cpp_properties.json。这是我的.vscode文件夹中的所有文件:

arduino.json

{
    "board": "arduino:avr:nano","configuration": "cpu=atmega328old","sketch": "EEPROM_Programmer.ino"
}

c_cpp_properties.json

{
  "configurations": [
    {
      "name": "Win32","includePath": [
        "C:\\Program Files (x86)\\Arduino\\tools\\**","C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\**","C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr\\**"
      ],"forcedInclude": [
        "C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino\\Arduino.h"
      ],"intelliSenseMode": "msvc-x64","compilerPath": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.24.28314\\bin\\Hostx64\\x64\\cl.exe","cStandard": "c11","cppStandard": "c++17","defines": ["USBCON"]
    }
  ],"version": 4
}

如果有人有任何建议,将不胜感激!

解决方法

我在VS Code IntelliSense for Arduino上也遇到了类似的问题。

以某种方式,IntelliSense无法与Visual Studio编译器一起使用。我已经更改了c_cpp_properties.json文件中的以下设置,以使用Arduino提供的编译器。

旧:

"intelliSenseMode": "msvc-x64","compilerPath": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2019\\Community\\VC\\Tools\\MSVC\\14.24.28314\\bin\\Hostx64\\x64\\cl.exe"

新功能:

"intelliSenseMode": "clang-x64","compilerPath": "C:\\Program Files (x86)\\Arduino\\hardware\\tools\\avr\\bin\\avr-gcc.exe"

也许您必须调整Arduino文件夹的路径。

此更改解决了我的不确定标识符问题。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...