kakopappa / sinric

Amazon Alexa Smart home skill / Google Home Action for ESP8266 / ESP32 / Arduino
https://sinric.com
285 stars 166 forks source link

exit status 1 cannot declare variable 'client' to be of abstract type 'WiFiClient' #370

Open 2orsome opened 4 years ago

2orsome commented 4 years ago

I have updated something some where and now with out any mods to any example for Arduino I get this compile error

In file included from C:\Users\Ramona\Documents\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFi.h:40:0,

             from C:\Users\Ramona\Documents\Arduino\sinric_examples\light_example2\light_example2.ino:2:

C:\Users\Ramona\Documents\Arduino\libraries\ESP8266WiFi\src/WiFiServer.h:52:14: error: invalid abstract return type for member function 'WiFiClient WiFiServer::available(uint8_t*)'

WiFiClient available(uint8_t* status = NULL);

          ^

In file included from C:\Users\Ramona\Documents\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFi.h:39:0,

             from C:\Users\Ramona\Documents\Arduino\sinric_examples\light_example2\light_example2.ino:2:

C:\Users\Ramona\Documents\Arduino\libraries\ESP8266WiFi\src/WiFiClient.h:45:7: note: because the following virtual functions are pure within 'WiFiClient':

class WiFiClient : public Client, public SList {

   ^

In file included from C:\Users\Ramona\Documents\Arduino\libraries\ESP8266WiFi\src/WiFiClient.h:27:0,

             from C:\Users\Ramona\Documents\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFi.h:39,

             from C:\Users\Ramona\Documents\Arduino\sinric_examples\light_example2\light_example2.ino:2:

C:\Users\Ramona\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.1\cores\esp8266/Client.h:37:22: note: virtual void Client::flush()

     virtual void flush() = 0;

                  ^

C:\Users\Ramona\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.1\cores\esp8266/Client.h:29:21: note: virtual int Client::connect(IPAddress, uint16_t)

     virtual int connect(IPAddress ip, uint16_t port) =0;

                 ^

C:\Users\Ramona\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.1\cores\esp8266/Client.h:38:22: note: virtual void Client::stop()

     virtual void stop() = 0;

                  ^

In file included from C:\Users\Ramona\Documents\Arduino\libraries\ESP8266WiFi\src/WiFiServerSecure.h:23:0,

             from C:\Users\Ramona\Documents\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFi.h:41,

             from C:\Users\Ramona\Documents\Arduino\sinric_examples\light_example2\light_example2.ino:2:

C:\Users\Ramona\Documents\Arduino\libraries\ESP8266WiFi\src/WiFiServerSecureBearSSL.h:59:22: error: invalid abstract return type for member function 'BearSSL::WiFiClientSecure BearSSL::WiFiServerSecure::available(uint8_t*)'

 WiFiClientSecure available(uint8_t* status = NULL);

                  ^

In file included from C:\Users\Ramona\Documents\Arduino\libraries\ESP8266WiFi\src/WiFiClientSecure.h:41:0,

             from C:\Users\Ramona\Documents\Arduino\libraries\ESP8266WiFi\src/WiFiServerSecure.h:20,

             from C:\Users\Ramona\Documents\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFi.h:41,

             from C:\Users\Ramona\Documents\Arduino\sinric_examples\light_example2\light_example2.ino:2:

C:\Users\Ramona\Documents\Arduino\libraries\ESP8266WiFi\src/WiFiClientSecureBearSSL.h:34:7: note: because the following virtual functions are pure within 'BearSSL::WiFiClientSecure':

class WiFiClientSecure : public WiFiClient {

   ^

In file included from C:\Users\Ramona\Documents\Arduino\libraries\ESP8266WiFi\src/WiFiClient.h:27:0,

             from C:\Users\Ramona\Documents\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFi.h:39,

             from C:\Users\Ramona\Documents\Arduino\sinric_examples\light_example2\light_example2.ino:2:

C:\Users\Ramona\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.1\cores\esp8266/Client.h:37:22: note: virtual void Client::flush()

     virtual void flush() = 0;

                  ^

C:\Users\Ramona\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.1\cores\esp8266/Client.h:29:21: note: virtual int Client::connect(IPAddress, uint16_t)

     virtual int connect(IPAddress ip, uint16_t port) =0;

                 ^

C:\Users\Ramona\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.1\cores\esp8266/Client.h:38:22: note: virtual void Client::stop()

     virtual void stop() = 0;

                  ^

light_example2:18:12: error: cannot declare variable 'client' to be of abstract type 'WiFiClient'

WiFiClient client;

        ^

In file included from C:\Users\Ramona\Documents\Arduino\libraries\ESP8266WiFi\src/ESP8266WiFi.h:39:0,

             from C:\Users\Ramona\Documents\Arduino\sinric_examples\light_example2\light_example2.ino:2:

C:\Users\Ramona\Documents\Arduino\libraries\ESP8266WiFi\src/WiFiClient.h:45:7: note: since type 'WiFiClient' has pure virtual functions

class WiFiClient : public Client, public SList {

   ^

C:\Users\Ramona\Documents\Arduino\sinric_examples\light_example2\light_example2.ino: In function 'void webSocketEvent(WStype_t, uint8_t*, size_t)':

C:\Users\Ramona\Documents\Arduino\sinric_examples\light_example2\light_example2.ino:89:9: warning: enumeration value 'WStype_ERROR' not handled in switch [-Wswitch]

switch(type) {

     ^

C:\Users\Ramona\Documents\Arduino\sinric_examples\light_example2\light_example2.ino:89:9: warning: enumeration value 'WStype_FRAGMENT_TEXT_START' not handled in switch [-Wswitch]

C:\Users\Ramona\Documents\Arduino\sinric_examples\light_example2\light_example2.ino:89:9: warning: enumeration value 'WStype_FRAGMENT_BIN_START' not handled in switch [-Wswitch]

C:\Users\Ramona\Documents\Arduino\sinric_examples\light_example2\light_example2.ino:89:9: warning: enumeration value 'WStype_FRAGMENT' not handled in switch [-Wswitch]

C:\Users\Ramona\Documents\Arduino\sinric_examples\light_example2\light_example2.ino:89:9: warning: enumeration value 'WStype_FRAGMENT_FIN' not handled in switch [-Wswitch]

C:\Users\Ramona\Documents\Arduino\sinric_examples\light_example2\light_example2.ino:89:9: warning: enumeration value 'WStype_PING' not handled in switch [-Wswitch]

C:\Users\Ramona\Documents\Arduino\sinric_examples\light_example2\light_example2.ino:89:9: warning: enumeration value 'WStype_PONG' not handled in switch [-Wswitch]

Multiple libraries were found for "WebSocketsClient.h" Used: C:\Users\Ramona\Documents\Arduino\libraries\arduinoWebSockets-master Multiple libraries were found for "ArduinoJson.h" Used: C:\Users\Ramona\Documents\Arduino\libraries\ArduinoJson Multiple libraries were found for "Hash.h" Used: C:\Users\Ramona\Documents\Arduino\libraries\Hash Multiple libraries were found for "ESP8266WiFi.h" Used: C:\Users\Ramona\Documents\Arduino\libraries\ESP8266WiFi Using library ESP8266WiFi at version 1.0 in folder: C:\Users\Ramona\Documents\Arduino\libraries\ESP8266WiFi Using library arduinoWebSockets-master at version 2.2.0 in folder: C:\Users\Ramona\Documents\Arduino\libraries\arduinoWebSockets-master Using library ArduinoJson at version 5.13.2 in folder: C:\Users\Ramona\Documents\Arduino\libraries\ArduinoJson Using library Hash at version 1.0 in folder: C:\Users\Ramona\Documents\Arduino\libraries\Hash exit status 1 cannot declare variable 'client' to be of abstract type 'WiFiClient'

sivar2311 commented 4 years ago

Hi! If you updated "something" you might need to downgrade esp core to version 2.5.2. I had a similar issue with another project. downgrade