firebase-arduino
firebase-arduino copied to clipboard
Getting Errors In Source files of FirebaseArduino.cpp and FirebaseHttpClient_Esp8266.cpp while verifying Code.
Whenever I try to run my code I get this Error. I searched a lot about this error but all in vain. Here is the error: Arduino\libraries\firebase-arduino-master\src\FirebaseArduino.cpp: In member function 'String FirebaseArduino::push(const String&, const ArduinoJson::JsonVariant&)': Arduino\libraries\firebase-arduino-master\src\FirebaseArduino.cpp:65:54: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 65 | int status = req_.get()->sendRequest(host_, auth_, "POST", path.c_str(), buf); | ^~~~~~ Arduino\libraries\firebase-arduino-master\src\FirebaseArduino.cpp: In member function 'void FirebaseArduino::set(const String&, const ArduinoJson::JsonVariant&)': Arduino\libraries\firebase-arduino-master\src\FirebaseArduino.cpp:94:41: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 94 | req_.get()->sendRequest(host_, auth_, "PUT", path.c_str(), buf); | ^~~~~ Arduino\libraries\firebase-arduino-master\src\FirebaseArduino.cpp: In member function 'void FirebaseArduino::getRequest(const String&)': Arduino\libraries\firebase-arduino-master\src\FirebaseArduino.cpp:101:41: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 101 | req_.get()->sendRequest(host_, auth_, "GET", path.c_str()); | ^~~~~ Arduino\libraries\firebase-arduino-master\src\FirebaseArduino.cpp: In member function 'virtual void FirebaseArduino::remove(const String&)': Arduino\libraries\firebase-arduino-master\src\FirebaseArduino.cpp:147:41: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 147 | req_.get()->sendRequest(host_, auth_, "DELETE", path.c_str()); | ^~~~~~~~ Arduino\libraries\firebase-arduino-master\src\Firebase.cpp: In member function 'int FirebaseRequest::sendRequest(const string&, const string&, char*, const string&, const string&)': Arduino\libraries\firebase-arduino-master\src\Firebase.cpp:78:1: error: no return statement in function returning non-void [-Werror=return-type] 78 | } | ^ Arduino\libraries\firebase-arduino-master\src\Firebase.cpp: In member function 'void FirebaseStream::startStreaming(const string&, const string&, const string&)': Arduino\libraries\firebase-arduino-master\src\Firebase.cpp:91:16: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings] 91 | analyzeError("STREAM", status, path_with_auth); | ^~~~~~~~ Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp: In member function 'virtual void FirebaseHttpClientEsp8266::begin(const string&)': Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:47:50: error: no matching function for call to 'begin(const char*, const char [60])' 47 | http_.begin(url.c_str(), kFirebaseFingerprint); | ^ In file included from Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:9: AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.0\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:166:10: note: candidate: 'bool HTTPClient::begin(String, uint16_t, String)' (near match) 166 | bool begin(String host, uint16_t port, String uri = "/") attribute ((error("obsolete API, use ::begin(WiFiClient, host, port, uri)"))); | ^~~~~ AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.0\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:166:10: note: conversion of argument 2 would be ill-formed: Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:47:30: error: invalid conversion from 'const char*' to 'uint16_t' {aka 'short unsigned int'} [-fpermissive] 47 | http_.begin(url.c_str(), kFirebaseFingerprint); | ^~~~~~~~~~~~~~~~~~~~ | | | const char* In file included from Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:9: AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.0\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:167:10: note: candidate: 'bool HTTPClient::begin(String, const uint8_t*)' (near match) 167 | bool begin(String url, const uint8_t httpsFingerprint[20]) attribute ((error("obsolete API, use ::begin(WiFiClientSecure, ...)"))); | ^~~~~ AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.0\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:167:10: note: conversion of argument 2 would be ill-formed: c:\Users\dell\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:47:30: error: invalid conversion from 'const char*' to 'const uint8_t*' {aka 'const unsigned char*'} [-fpermissive] 47 | http_.begin(url.c_str(), kFirebaseFingerprint); | ^~~~~~~~~~~~~~~~~~~~ | | | const char* Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp: In member function 'virtual void FirebaseHttpClientEsp8266::begin(const string&, const string&)': Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:51:60: error: invalid conversion from 'const char*' to 'const uint8_t*' {aka 'const unsigned char*'} [-fpermissive] 51 | http_.begin(host.c_str(), kFirebasePort, path.c_str(), kFirebaseFingerprint); | ^~~~~~~~~~~~~~~~~~~~ | | | const char* In file included from Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:9: C:\Users\dell\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.1.0\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:168:70: note: initializing argument 4 of 'bool HTTPClient::begin(String, uint16_t, String, const uint8_t*)' 168 | bool begin(String host, uint16_t port, String uri, const uint8_t httpsFingerprint[20]) attribute ((error("obsolete API, use ::begin(WiFiClientSecure, ...)"))); | ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ cc1plus.exe: some warnings being treated as errors
Is there any solution for it? I have tried my best but this error is not sorting.
Got any solution yet?
I need solutions asap
me too getting the same
To solve this problem, try to downgrade your esp3266 board from latest to 2.7.4.
In case anyone face same problem in future, downgrading ESP8266 board and ArduinoJSON library is only option as of now (September 2023). Steps to do same:- https://www.youtube.com/watch?v=m3Xb9GB9SI8
Thanks! It was very helpful.