Description
Hardware:
Board: ESP32
Core Installation version: 1.0.2
IDE name: PlatformIO
Flash Frequency: N/A
PSRAM enabled: N/A
Upload Speed: N/A
Computer OS: Linux (TravisCI)
Description:
I am working on TinyGSM - a cross-platform GSM client. Because the client.h file in the current ESP32 core does not match the standard Arduino API (https://github.com/arduino/ArduinoCore-API/blob/master/api/Client.h) the library can no longer be compiled by esp32 users.
NOTE: The ESP8266 core introduced the same problem in version 2.5.0. They are fixing it for 2.5.1 (esp8266/Arduino#5969)
Sketch: (leave the backquotes for code formatting)
#include <Arduino.h>
#define TINY_GSM_MODEM_SIM800
#include <TinyGsmClient.h>
void setup() {
}
void loop() {
}
Debug Messages:
Unable to compile because of undefined virtual functions:
/tmp/tmpgkfUuk/src/test_build.ino:11:15: error: cannot declare variable 'client' to be of abstract type 'TinyGsmA6::GsmClient'
TinyGsmClient client(modem);
^
In file included from lib/TinyGSM/src/TinyGsmClient.h:65:0,
from /tmp/tmpgkfUuk/src/test_build.ino:8:
lib/TinyGSM/src/TinyGsmClientA6.h:44:7: note: because the following virtual functions are pure within 'TinyGsmA6::GsmClient':
class GsmClient : public Client
^
In file included from /home/travis/.platformio/packages/framework-arduinoespressif32/cores/esp32/Arduino.h:157:0,
from /tmp/tmpdTm4GS:1:
/home/travis/.platformio/packages/framework-arduinoespressif32/cores/esp32/Client.h:31:17: note: virtual int Client::connect(IPAddress, uint16_t, int)
virtual int connect(IPAddress ip, uint16_t port, int timeout) =0;
^
/home/travis/.platformio/packages/framework-arduinoespressif32/cores/esp32/Client.h:32:17: note: virtual int Client::connect(const char*, uint16_t, int)
virtual int connect(const char *host, uint16_t port, int timeout) =0;
^
This was also mentioned in #2704.
Metadata
Metadata
Assignees
Labels
No labels