PlatformIO中报错 error: ‘String‘ does not name a type

文章讲述了在使用platformIO编译Arduino程序时遇到的错误,怀疑是框架文件损坏,通过删除并重新下载新框架文件解决了问题。

问题描述:
使用platformIO 中Arduino框架编译程序时,出现一大堆报错,尝试新建工程后也还会报错。
报错文件:arduino.h文件
解决:
考虑到应该是框架文件有损坏,直接找到框架文件删除,重新编译会自动下载新的框架文件,最后即可解决。

#define BLINKER_WIFI #include <ESP8266WiFi.h> #include <Blinker.h> // 点灯科技认证信息 char auth[] = "YourAuthToken"; // 替换为设备在点灯科技平台的密钥 char ssid[] = "YourWiFiSSID"; // 替换为本地Wi-Fi名称 char pswd[] = "YourWiFiPassword"; // 替换为本地Wi-Fi密码 // 继电器控制引脚(保持不变) #define RELAY_PIN 5 // 定义按钮组件,绑定到APP上的按钮控件 BlinkerButton relayButton("btn-relay"); // 按钮状态回调函数 void buttonCallback(const String & state) { BLINKER_LOG("按钮状态: ", state); if (state == BLINKER_CMD_ON) { digitalWrite(RELAY_PIN, LOW); // 打开继电器(根据实际电路调整电平) relayButton.print("on"); // 向APP反馈状态 Blinker.vibrate(); // APP震动反馈 } else if (state == BLINKER_CMD_OFF) { digitalWrite(RELAY_PIN, HIGH); // 关闭继电器 relayButton.print("off"); Blinker.vibrate(); } } void setup() { // 初始化串口 Serial.begin(115200); // 设置继电器引脚为输出 pinMode(RELAY_PIN, OUTPUT); digitalWrite(RELAY_PIN, HIGH); // 默认关闭继电器 // 初始化Blinker连接 Blinker.begin(auth, ssid, pswd); // 绑定按钮回调函数 relayButton.attach(buttonCallback); } void loop() { // 保持Blinker连接并处理消息 Blinker.run(); } 修正下列代码中的错误 In file included from c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/BlinkerESPMQTT.h:16, from c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker.h:43, from D:\ESP8266程序\代码编辑\阿里智能插座APP 代码\sketch_aug23a\sketch_aug23a.ino:3: c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Adapters/BlinkerMQTT.h: In member function 'virtual char* BlinkerMQTT::token()': c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Adapters/BlinkerMQTT.h:144:50: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 144 | char * token() { if (!isMQTTinit) return ""; else return MQTT_KEY_MQTT; } | ^~ In file included from c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/BlinkerESPMQTT.h:16, from c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker.h:43, from D:\ESP8266程序\代码编辑\阿里智能插座APP 代码\sketch_aug23a\sketch_aug23a.ino:3: c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Adapters/BlinkerMQTT.h: In member function 'virtual char* BlinkerMQTT::lastRead()': c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Adapters/BlinkerMQTT.h:963:17: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 963 | else return ""; | ^~ In file included from c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerApi.h:95, from c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/BlinkerESPMQTT.h:17, from c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker.h:43, from D:\ESP8266程序\代码编辑\阿里智能插座APP 代码\sketch_aug23a\sketch_aug23a.ino:3: c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerApiBase.h: In member function 'char* BlinkerBridge_key::getName()': c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerApiBase.h:196:29: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 196 | else return "false"; | ^~~~~~~ In file included from c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerApi.h:96, from c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/BlinkerESPMQTT.h:17, from c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker.h:43, from D:\ESP8266程序\代码编辑\阿里智能插座APP 代码\sketch_aug23a\sketch_aug23a.ino:3: c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerProtocol.h: In member function 'char* BlinkerProtocol::deviceName()': c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerProtocol.h:104:86: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 104 | char * deviceName() { if (isInit) return conn->deviceName(); else return ""; } | ^~ c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerProtocol.h: In member function 'char* BlinkerProtocol::authKey()': c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerProtocol.h:105:83: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 105 | char * authKey() { if (isInit) return conn->authKey(); else return ""; } | ^~ c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerProtocol.h: In member function 'char* BlinkerProtocol::token()': c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerProtocol.h:106:79: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 106 | char * token() { if (isInit) return conn->token(); else return ""; } | ^~ c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerProtocol.h: In member function 'char* BlinkerProtocol::dataParse()': c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerProtocol.h:257:86: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 257 | char* dataParse() { if (canParse) return conn->lastRead(); else return ""; } | ^~ In file included from c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Adapters/BlinkerMQTT.h:46, from c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/BlinkerESPMQTT.h:16, from c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker.h:43, from D:\ESP8266程序\代码编辑\阿里智能插座APP 代码\sketch_aug23a\sketch_aug23a.ino:3: c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerApi.h: At global scope: c:\users\administrator\documents\arduino\libraries\blinker\src\blinker\blinkerconfig.h:226:41: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 226 | #define BLINKER_CMD_BUILTIN_SWITCH "switch" | ^~~~~~~~ c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerApi.h:913:71: note: in expansion of macro 'BLINKER_CMD_BUILTIN_SWITCH' 913 | BlinkerWidgets_string _BUILTIN_SWITCH = BlinkerWidgets_string(BLINKER_CMD_BUILTIN_SWITCH); | ^~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/BlinkerESPMQTT.h:17, from c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker.h:43, from D:\ESP8266程序\代码编辑\阿里智能插座APP 代码\sketch_aug23a\sketch_aug23a.ino:3: c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerApi.h: In member function 'char* BlinkerApi::bridgeKey(uint8_t)': c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerApi.h:7831:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 7831 | else return ""; | ^~ c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerApi.h: In member function 'char* BlinkerApi::bridgeName(uint8_t)': c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerApi.h:7838:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 7838 | else return "false"; | ^~~~~~~ c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerApi.h: In member function 'char* BlinkerApi::widgetName_str(uint8_t)': c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerApi.h:8467:17: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 8467 | else return ""; | ^~ c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerApi.h: In member function 'char* BlinkerApi::widgetName_joy(uint8_t)': c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerApi.h:8474:21: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 8474 | else return ""; | ^~ c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerApi.h: In member function 'char* BlinkerApi::widgetName_rgb(uint8_t)': c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerApi.h:8481:17: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 8481 | else return ""; | ^~ c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerApi.h: In member function 'char* BlinkerApi::widgetName_int(uint8_t)': c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerApi.h:8487:17: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 8487 | else return ""; | ^~ c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerApi.h: In member function 'char* BlinkerApi::widgetName_tab(uint8_t)': c:\Users\Administrator\Documents\Arduino\libraries\Blinker\src/Blinker/BlinkerApi.h:8493:17: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 8493 | else return ""; | ^~ D:\ESP8266程序\代码编辑\阿里智能插座APP 代码\sketch_aug23a\sketch_aug23a.ino: At global scope: D:\ESP8266程序\代码编辑\阿里智能插座APP 代码\sketch_aug23a\sketch_aug23a.ino:14:27: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] D:\ESP8266程序\代码编辑\阿里智能插座APP 代码\sketch_aug23a\sketch_aug23a.ino:56:1: error: '修正下列代码中的错误' does not name a type exit status 1
08-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

おもいね

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值