已知报错:
error: cannot convert 'std::string' {aka 'std::__cxx11::basic_string<char>'} to 'String'
出现原因:
Boards Manager
中将 Arduino ESP32 板软件更改为版本 3.x
则会出现该问题。这是新版本(C++ STL) 转换为 (Arduino WString)出现的问题。
解决方法(两种):
one、
ESP32 Boards Manager回退版本 2.0.17
,可以正确编译和运行。
two、
将std::string
改为String
(如果源码中含有std::string(deviceName).substr(0, 15)等用法,则直接使用deviceName,即 deviceName(std::string(deviceName).substr(0, 15))改为 deviceName(deviceName),.h文件也别忘了改哦)