You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I am using version 3.5.0 of aWOT.
After upgrading the ESP32 board (from the board manager) from version 3.0.0 to 3.1.0, the project does not compile anymore:
/home/raf/Arduino/libraries/aWOT/src/aWOT.cpp: In member function 'void awot::Application::process(Stream*, void*)':
/home/raf/Arduino/libraries/aWOT/src/aWOT.cpp:1621:16: error: cannot declare variable 'client' to be of abstract type 'awot::StreamClient'
1621 | StreamClient client(stream);
| ^~~~~~
In file included from /home/raf/Arduino/libraries/aWOT/src/aWOT.cpp:23:
/home/raf/Arduino/libraries/aWOT/src/aWOT.h:86:7: note: because the following virtual functions are pure within 'awot::StreamClient':
86 | class StreamClient : public Client {
| ^~~~~~~~~~~~
In file included from /home/raf/.arduino15/packages/esp32/hardware/esp32/3.1.0/cores/esp32/Arduino.h:197,
from /home/raf/Arduino/libraries/aWOT/src/aWOT.h:28:
/home/raf/.arduino15/packages/esp32/hardware/esp32/3.1.0/cores/esp32/Client.h:29:15: note: 'virtual int Client::connect(IPAddress, uint16_t, int32_t)'
29 | virtual int connect(IPAddress ip, uint16_t port, int32_t timeout) = 0;
| ^~~~~~~
/home/raf/.arduino15/packages/esp32/hardware/esp32/3.1.0/cores/esp32/Client.h:31:15: note: 'virtual int Client::connect(const char*, uint16_t, int32_t)'
31 | virtual int connect(const char *host, uint16_t port, int32_t timeout) = 0;
| ^~~~~~~
/home/raf/Arduino/libraries/aWOT/src/aWOT.cpp: In member function 'void awot::Application::process(Stream*, char*, int, void*)':
/home/raf/Arduino/libraries/aWOT/src/aWOT.cpp:1630:16: error: cannot declare variable 'client' to be of abstract type 'awot::StreamClient'
1630 | StreamClient client(stream);
| ^~~~~~
/home/raf/Arduino/libraries/aWOT/src/aWOT.cpp: In member function 'void awot::Application::process(Stream*, char*, int, uint8_t*, int, void*)':
/home/raf/Arduino/libraries/aWOT/src/aWOT.cpp:1639:16: error: cannot declare variable 'client' to be of abstract type 'awot::StreamClient'
1639 | StreamClient client(stream);
| ^~~~~~
The text was updated successfully, but these errors were encountered:
The StreamClient class is expected to be concrete but it derives from Stream which is abstract and does not implement all the abstract functions, therefore StreamClient is abstract as well.
In fact StreamClient does not implement two of the four connect functions that are marked as abstract in the base class.
The solution is to implement the two missing functions in the StreamClient class:
I am using version 3.5.0 of aWOT.
After upgrading the ESP32 board (from the board manager) from version 3.0.0 to 3.1.0, the project does not compile anymore:
The text was updated successfully, but these errors were encountered: