bertmelis / espMqttClient

MQTT 3.1.1 client library for the Espressif devices ESP8266 and ESP32 on the Arduino framework.
https://www.emelis.net/espMqttClient/
MIT License
100 stars 21 forks source link

Error when compiling for ESP32 with version 1.3.2 #41

Closed tbnobody closed 2 years ago

tbnobody commented 2 years ago

I created a platformio project and used exactly this code in the main.cpp file: https://github.com/bertmelis/espMqttClient/blob/main/examples/simple-esp32/simple-esp32.ino

Then I created a platformio.ini with the following content:

[env:az-delivery-devkit-v4]
platform = espressif32
board = esp32dev
framework = arduino

lib_deps =
    https://github.com/bertmelis/espMqttClient.git#v1.3.2
    https://github.com/bblanchon/ArduinoJson

And I get the following error:

Compiling .pio\build\az-delivery-devkit-v4\FrameworkArduino\base64.cpp.o
.pio/libdeps/az-delivery-devkit-v4/espMqttClient/src/Transport/ClientSync.cpp: In member function 'virtual bool espMqttClientInternals::ClientSync::connect(IPAddress, uint16_t)':
.pio/libdeps/az-delivery-devkit-v4/espMqttClient/src/Transport/ClientSync.cpp:29:71: error: no matching function for call to 'WiFiClient::setSocketOption(int, int, int*, unsigned int)'
     client.setSocketOption(IPPROTO_TCP, TCP_NODELAY, &val, sizeof(int));
                                                                       ^
In file included from .pio/libdeps/az-delivery-devkit-v4/espMqttClient/src/Transport/ClientSync.h:13,
                 from .pio/libdeps/az-delivery-devkit-v4/espMqttClient/src/Transport/ClientSync.cpp:11:
C:/Users/Thomas/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src/WiFiClient.h:89:9: note: candidate: 'int WiFiClient::setSocketOption(int, char*, size_t)'
     int setSocketOption(int option, char* value, size_t len);
         ^~~~~~~~~~~~~~~
C:/Users/Thomas/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src/WiFiClient.h:89:9: note:   candidate expects 3 arguments, 4 provided
.pio/libdeps/az-delivery-devkit-v4/espMqttClient/src/Transport/ClientSync.cpp: In member function 'virtual bool espMqttClientInternals::ClientSync::connect(const char*, uint16_t)':
.pio/libdeps/az-delivery-devkit-v4/espMqttClient/src/Transport/ClientSync.cpp:43:71: error: no matching function for call to 'WiFiClient::setSocketOption(int, int, int*, unsigned int)'
     client.setSocketOption(IPPROTO_TCP, TCP_NODELAY, &val, sizeof(int));
                                                                       ^
In file included from .pio/libdeps/az-delivery-devkit-v4/espMqttClient/src/Transport/ClientSync.h:13,
                 from .pio/libdeps/az-delivery-devkit-v4/espMqttClient/src/Transport/ClientSync.cpp:11:
C:/Users/Thomas/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src/WiFiClient.h:89:9: note: candidate: 'int WiFiClient::setSocketOption(int, char*, size_t)'
     int setSocketOption(int option, char* value, size_t len);
         ^~~~~~~~~~~~~~~
C:/Users/Thomas/.platformio/packages/framework-arduinoespressif32/libraries/WiFi/src/WiFiClient.h:89:9: note:   candidate expects 3 arguments, 4 provided
*** [.pio\build\az-delivery-devkit-v4\lib2c6\espMqttClient\Transport\ClientSync.cpp.o] Error 1
.pio/libdeps/az-delivery-devkit-v4/espMqttClient/src/Transport/ClientSecureSync.cpp: In member function 'virtual bool espMqttClientInternals::ClientSecureSync::connect(IPAddress, uint16_t)':
.pio/libdeps/az-delivery-devkit-v4/espMqttClient/src/Transport/ClientSecureSync.cpp:29:71: error: no matching function for call to 'WiFiClientSecure::setSocketOption(int, int, int*, unsigned int)'
     client.setSocketOption(IPPROTO_TCP, TCP_NODELAY, &val, sizeof(int));
                                                                       ^
In file included from .pio/libdeps/az-delivery-devkit-v4/espMqttClient/src/Transport/ClientSecureSync.h:13,
                 from .pio/libdeps/az-delivery-devkit-v4/espMqttClient/src/Transport/ClientSecureSync.cpp:11:
C:/Users/Thomas/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src/WiFiClientSecure.h:83:9: note: candidate: 'int WiFiClientSecure::setSocketOption(int, char*, size_t)'
     int setSocketOption(int option, char* value, size_t len);
         ^~~~~~~~~~~~~~~
C:/Users/Thomas/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src/WiFiClientSecure.h:83:9: note:   candidate expects 3 arguments, 4 provided
.pio/libdeps/az-delivery-devkit-v4/espMqttClient/src/Transport/ClientSecureSync.cpp: In member function 'virtual bool espMqttClientInternals::ClientSecureSync::connect(const char*, uint16_t)': 
.pio/libdeps/az-delivery-devkit-v4/espMqttClient/src/Transport/ClientSecureSync.cpp:43:71: error: no matching function for call to 'WiFiClientSecure::setSocketOption(int, int, int*, unsigned int)'
     client.setSocketOption(IPPROTO_TCP, TCP_NODELAY, &val, sizeof(int));
                                                                       ^
In file included from .pio/libdeps/az-delivery-devkit-v4/espMqttClient/src/Transport/ClientSecureSync.h:13,
                 from .pio/libdeps/az-delivery-devkit-v4/espMqttClient/src/Transport/ClientSecureSync.cpp:11:
C:/Users/Thomas/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src/WiFiClientSecure.h:83:9: note: candidate: 'int WiFiClientSecure::setSocketOption(int, char*, size_t)'
     int setSocketOption(int option, char* value, size_t len);
         ^~~~~~~~~~~~~~~
C:/Users/Thomas/.platformio/packages/framework-arduinoespressif32/libraries/WiFiClientSecure/src/WiFiClientSecure.h:83:9: note:   candidate expects 3 arguments, 4 provided
*** [.pio\build\az-delivery-devkit-v4\lib2c6\espMqttClient\Transport\ClientSecureSync.cpp.o] Error 1

If I am using version 1.3.1 it works without problems:

[env:az-delivery-devkit-v4]
platform = espressif32
board = esp32dev
framework = arduino

lib_deps =
    https://github.com/bertmelis/espMqttClient.git#v1.3.1
    https://github.com/bblanchon/ArduinoJson
bertmelis commented 2 years ago

Could you update your platform-espressif32?

tbnobody commented 2 years ago

You are right. With platform = espressif32@>=5.2.0 it's working with 1.3.2 Thank you!