FirebaseExtended / firebase-arduino

Arduino samples for Firebase.
Apache License 2.0
943 stars 494 forks source link

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

Open usamaalpp opened 1 year ago

usamaalpp commented 1 year ago
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.

Anshul-13J commented 1 year ago

Got any solution yet?

nmktad commented 1 year ago

I need solutions asap

gowthamoo3 commented 1 year ago

me too getting the same

jameysu commented 1 year ago

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

TrickSumo commented 9 months ago

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

coderkage commented 1 day ago

Thanks! It was very helpful.