firebase-arduino icon indicating copy to clipboard operation
firebase-arduino copied to clipboard

Getting Errors In Source files of FirebaseArduino.cpp and FirebaseHttpClient_Esp8266.cpp while verifying Code.

Open usamaalpp opened this issue 2 years ago • 6 comments

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.

usamaalpp avatar Jan 13 '23 21:01 usamaalpp

Got any solution yet?

Anshul-13J avatar Feb 13 '23 18:02 Anshul-13J

I need solutions asap

nmktad avatar Feb 20 '23 09:02 nmktad

me too getting the same

gowthamoo3 avatar Feb 25 '23 13:02 gowthamoo3

To solve this problem, try to downgrade your esp3266 board from latest to 2.7.4.

jameysu avatar Mar 14 '23 18:03 jameysu

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

TrickSumo avatar Sep 16 '23 09:09 TrickSumo

Thanks! It was very helpful.

coderkage avatar Jul 03 '24 11:07 coderkage