This is simple yet complete WebServer library for AVR, AVR Dx, Portenta_H7, Teensy, SAM DUE, SAMD21/SAMD51, nRF52, STM32, RP2040-based, etc. boards running Ethernet shields. The functions are similar and compatible to ESP8266/ESP32 WebServer libraries to make life much easier to port sketches from ESP8266/ESP32. Coexisting now with `ESP32 WebServer` and `ESP8266 ESP8266WebServer` libraries. Ethernet_Generic library is used as default for W5x00 with custom SPI
MIT License
178
stars
49
forks
source link
Error During compilation for ESP32 + W5500 "cannot declare variable 'server' to be of abstract type 'EthernetServer'" #11
In file included from Q:\TMP\arduino_build_771611\sketch\defines.h:348:0,
from C:\Users\andrew\Documents\Arduino\Training\EthernetWebServer\EthernetWebServer.ino:44:
C:\Users\andrew\Documents\Arduino\libraries\EthernetWebServer\src/EthernetWebServer.h:324:21: error: cannot declare field 'EthernetWebServer::_server' to be of abstract type 'EthernetServer'
EthernetServer _server;
^
In file included from Q:\TMP\arduino_build_771611\sketch\defines.h:314:0,
from C:\Users\andrew\Documents\Arduino\Training\EthernetWebServer\EthernetWebServer.ino:44:
Q:\TMP\arduino_build_771611\sketch\EthernetLarge.h:293:7: note: because the following virtual functions are pure within 'EthernetServer':
class EthernetServer : public Server {
^
In file included from C:\Users\andrew\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\cores\esp32/Arduino.h:152:0,
from Q:\TMP\arduino_build_771611\sketch\EthernetWebServer.ino.cpp:1:
To fix ESP32 compile error, just copy the following file into the ESP32 cores/esp32 directory (e.g. ./arduino-1.8.12/hardware/espressif/cores/esp32) to overwrite the old file:
Server.h)
Arduino: 1.8.13 (Windows 10), Board: "ESP32 Dev Module, Enabled, Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 921600, None"
--------cut--------
IC:\Users\andrew\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\cores\esp32" "-IC:\Users\andrew\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\variants\esp32" "-IC:\Users\andrew\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\SPI\src" "-IC:\Users\andrew\Documents\Arduino\libraries\EthernetWebServer\src" "-IC:\Users\andrew\Documents\Arduino\libraries\Functional-Vlpp\src" "-IC:\Program Files (x86)\Arduino\libraries\Ethernet\src" "Q:\TMP\arduino_build_771611\sketch\EthernetLarge.cpp" -o "Q:\TMP\arduino_build_771611\sketch\EthernetLarge.cpp.o"
In file included from Q:\TMP\arduino_build_771611\sketch\defines.h:348:0,
C:\Users\andrew\Documents\Arduino\libraries\EthernetWebServer\src/EthernetWebServer.h:324:21: error: cannot declare field 'EthernetWebServer::_server' to be of abstract type 'EthernetServer'
In file included from Q:\TMP\arduino_build_771611\sketch\defines.h:314:0,
Q:\TMP\arduino_build_771611\sketch\EthernetLarge.h:293:7: note: because the following virtual functions are pure within 'EthernetServer':
class EthernetServer : public Server {
In file included from C:\Users\andrew\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\cores\esp32/Arduino.h:152:0,
C:\Users\andrew\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\cores\esp32/Server.h:28:18: note: virtual void Server::begin(uint16_t)
EthernetWebServer:48:16: error: cannot declare variable 'server' to be of abstract type 'EthernetServer'
EthernetServer server(80);
Using library SPI at version 1.0 in folder: C:\Users\andrew\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\SPI
Using library EthernetWebServer at version 1.0.13 in folder: C:\Users\andrew\Documents\Arduino\libraries\EthernetWebServer
Using library Functional-Vlpp at version 1.0.1 in folder: C:\Users\andrew\Documents\Arduino\libraries\Functional-Vlpp
Using library Ethernet at version 2.0.0 in folder: C:\Program Files (x86)\Arduino\libraries\Ethernet
exit status 1
cannot declare variable 'server' to be of abstract type 'EthernetServer'