firebeetle-esp32 example错误

2018-03-298789
AI 快速预览详细 收起
本文解决了在使用 FireBeetle-ESP32 板子编译 WiFiClient 示例时遇到的“const char* to char*”转换错误。具体问题表现为多个 WiFi 库冲突,导致编译失败。解决方法是删除或重命名 C:\Program Files (x86)\Arduino\libraries\WiFi 文件夹,以避免与 esp32 自带的 WiFi 库冲突。通过这一简单步骤,用户可以快速解决编译错误,继续进行项目开发。
最近刚买了一个firebeetle-esp32的板子,准备编译自带的例子,WiFiClient,就出现的错误。





Arduino: 1.8.5 (Windows 10), Board: "FireBeetle-ESP32, 80MHz, 921600"

WARNING: library SPI claims to run on (esp32) architecture(s) and may be incompatible with your current board which runs on (DFRobot_FireBeetle-ESP32) architecture(s).
<command-line>:0:32: warning: ISO C++11 requires whitespace after the macro name

C:\Users\msi-\AppData\Local\Arduino15\packages\esp32\hardware\DFRobot_FireBeetle-ESP32\0.0.7\libraries\WiFi\examples\WiFiClient\WiFiClient.ino: In function 'void setup()':

WiFiClient:30: error: invalid conversion from 'const char*' to 'char*' [-fpermissive]

     WiFi.begin(ssid, password);

                              ^

In file included from C:\Users\msi-\AppData\Local\Arduino15\packages\esp32\hardware\DFRobot_FireBeetle-ESP32\0.0.7\libraries\WiFi\examples\WiFiClient\WiFiClient.ino:9:0:

C:\Program Files (x86)\Arduino\libraries\WiFi\src/WiFi.h:79:9: note:   initializing argument 1 of 'int WiFiClass::begin(char*, const char*)'

     int begin(char* ssid, const char *passphrase);

         ^

Multiple libraries were found for "WiFi.h"
Used: C:\Program Files (x86)\Arduino\libraries\WiFi
Not used: C:\Users\msi-\AppData\Local\Arduino15\packages\esp32\hardware\DFRobot_FireBeetle-ESP32\0.0.7\libraries\WiFi
exit status 1
invalid conversion from 'const char*' to 'char*' [-fpermissive]

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.


esp32自带的库和官方库重名,请问各位大牛这个该如何解决?提前谢谢。






esp32.PNG (173.34 KB, 下载次数: 2445)

FireBeetle-ESP32 示例错误 · WiFiClient 编译问题_image_3.webp

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(3)
ArduinoPi
ArduinoPi
作者
谢谢 薄荷逆袭 亲自测试。
给DFRobot官方github上提交了PR了,希望能够引起他们关注。
https://github.com/DFRobot/FireBeetle-ESP32/pull/3
ArduinoPi
ArduinoPi
作者
你的解释我试过,这个虽然能编译过,其他几个例子就过不去了,两个库wifi.h里面class实现是不一样的。理论上要用红色标记的esp32自带的库。
Multiple libraries were found for "WiFi.h"
Used: C:\Program Files (x86)\Arduino\libraries\WiFi
Not used: C:\Users\msi-\AppData\Local\Arduino15\packages\esp32\hardware\DFRobot_FireBeetle-ESP32\0.0.7\libraries\WiFi
薄荷逆袭
薄荷逆袭
不是“esp32自带的库和官方库重名”的问题,是WiFi.begin(ssid, password)里面的ssid和password类型不匹配,把ssid和password定义的类型由“const char*"”改为"char*",就可以通编译了。
- 没有更多了 -