Hello everybody,
I have a problem with compiling on PlatformIO. I created a new project and copied the contents of the sketch (from the arduino web editor) into main.cpp and from the thigProperties.h files into a new file called thingProperties.h.
Then I added the ArduinoIoTCloud library to the project.
While compiling I get a lot of errors.
I tried on the Arduino IDE it compiles correctly
I would like to use PlatformIO, but I don't understand how to get rid of the compile error.
Here the terminal during construction:
Processing nano_33_iot (platform: atmelsam; board: nano_33_iot; framework: arduino)
--------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/atmelsam/nano_33_iot.html
PLATFORM: Atmel SAM (8.1.0) > NANO 33 IoT
HARDWARE: SAMD21G18A 48MHz, 32KB RAM, 256KB Flash
DEBUG: Current (atmel-ice) External (atmel-ice, blackmagic, jlink)
PACKAGES:
- framework-arduino-samd @ 1.8.13
- framework-cmsis @ 1.40500.0 (4.5.0)
- framework-cmsis-atmel @ 1.2.2
- toolchain-gccarmnoneeabi @ 1.70201.0 (7.2.1)
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 24 compatible libraries
Scanning dependencies...
Dependency Graph
|-- ArduinoIoTCloud @ 1.6.0
| |-- Arduino_DebugUtils @ 1.3.0
| |-- Adafruit SleepyDog Library @ 1.6.1
| |-- ArduinoECCX08 @ 1.3.6
| | |-- Wire @ 1.0
| |-- WiFiNINA @ 1.8.13
| | |-- SPI @ 1.0
| |-- Arduino_ConnectionHandler @ 0.6.6
| | |-- Arduino_DebugUtils @ 1.3.0
| | |-- MKRGSM @ 1.5.0
| | |-- MKRNB @ 1.5.1
| | |-- MKRWAN @ 1.1.0
| | |-- WiFiNINA @ 1.8.13
| | | |-- SPI @ 1.0
| | |-- WiFi101 @ 0.16.1
| | | |-- SPI @ 1.0
| |-- ArduinoMqttClient @ 0.1.5
| |-- WiFi101 @ 0.16.1
| | |-- SPI @ 1.0
| |-- RTCZero @ 1.6.0
|-- Arduino_ConnectionHandler @ 0.6.6
| |-- Arduino_DebugUtils @ 1.3.0
| |-- MKRGSM @ 1.5.0
| |-- MKRNB @ 1.5.1
| |-- MKRWAN @ 1.1.0
| |-- WiFiNINA @ 1.8.13
| | |-- SPI @ 1.0
| |-- WiFi101 @ 0.16.1
| | |-- SPI @ 1.0
Building in release mode
Compiling .pio\build\nano_33_iot\src\main.cpp.o
Compiling .pio\build\nano_33_iot\libc49\Arduino_DebugUtils\Arduino_DebugUtils.cpp.o
Compiling .pio\build\nano_33_iot\lib004\Adafruit SleepyDog Library\Adafruit_SleepyDog.cpp.o
Compiling .pio\build\nano_33_iot\lib004\Adafruit SleepyDog Library\utility\WatchdogAVR.cpp.o
Compiling .pio\build\nano_33_iot\lib004\Adafruit SleepyDog Library\utility\WatchdogESP32.cpp.o
Compiling .pio\build\nano_33_iot\lib004\Adafruit SleepyDog Library\utility\WatchdogESP8266.cpp.o
Compiling .pio\build\nano_33_iot\lib004\Adafruit SleepyDog Library\utility\WatchdogKinetisK.cpp.o
Compiling .pio\build\nano_33_iot\lib004\Adafruit SleepyDog Library\utility\WatchdogKinetisL.cpp.o
In file included from .pio\libdeps\nano_33_iot\WiFiNINA\src/utility/wifi_drv.h:28:0,
from .pio\libdeps\nano_33_iot\WiFiNINA\src/WiFiStorage.h:23,
from .pio\libdeps\nano_33_iot\WiFiNINA\src/WiFi.h:38,
from .pio\libdeps\nano_33_iot\WiFiNINA\src/WiFiNINA.h:23,
from .pio\libdeps\nano_33_iot\Arduino_ConnectionHandler\src/Arduino_ConnectionHandler.h:36,
from src\arduino_secrets.h:1,
from src\main.cpp:23:
.pio\libdeps\nano_33_iot\WiFi101\src/WiFiClient.h:31:7: error: redefinition of 'class WiFiClient'
class WiFiClient : public Client {
^~~~~~~~~~
In file included from .pio\libdeps\nano_33_iot\WiFiNINA\src/WiFi.h:35:0,
from .pio\libdeps\nano_33_iot\WiFiNINA\src/WiFiNINA.h:23,
from .pio\libdeps\nano_33_iot\Arduino_ConnectionHandler\src/Arduino_ConnectionHandler.h:36,
from src\arduino_secrets.h:1,
from src\main.cpp:23:
.pio\libdeps\nano_33_iot\WiFiNINA\src/WiFiClient.h:28:7: note: previous definition of 'class WiFiClient'
class WiFiClient : public Client {
^~~~~~~~~~
Archiving .pio\build\nano_33_iot\libc49\libArduino_DebugUtils.a
In file included from .pio\libdeps\nano_33_iot\ArduinoIoTCloud\src/cbor/../property/PropertyContainer.h:27:0,
from .pio\libdeps\nano_33_iot\ArduinoIoTCloud\src/cbor/CBORDecoder.h:35,
from .pio\libdeps\nano_33_iot\ArduinoIoTCloud\src/ArduinoIoTCloud.h:35,
from src\thingProperties.h:1,
from src\main.cpp:24:
.pio\libdeps\nano_33_iot\ArduinoIoTCloud\src/cbor/../property/types/automation/CloudTelevision.h: In member function 'virtual void CloudTelevision::setAttributesFromCloud()':
.pio\libdeps\nano_33_iot\ArduinoIoTCloud\src/cbor/../property/types/automation/CloudTelevision.h:229:39: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
setAttribute((int&)_cloud_value.pbc);
^
.pio\libdeps\nano_33_iot\ArduinoIoTCloud\src/cbor/../property/Property.h:52:42: note: in definition of macro 'setAttribute'
#define setAttribute(x) setAttributeReal(x, getAttributeName(#x, '.'))
^
.pio\libdeps\nano_33_iot\ArduinoIoTCloud\src/cbor/../property/types/automation/CloudTelevision.h:230:39: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
setAttribute((int&)_cloud_value.inp);
^
.pio\libdeps\nano_33_iot\ArduinoIoTCloud\src/cbor/../property/Property.h:52:42: note: in definition of macro 'setAttribute'
#define setAttribute(x) setAttributeReal(x, getAttributeName(#x, '.'))
^
*** [.pio\build\nano_33_iot\src\main.cpp.o] Error 1
=============================================== [FAILED] Took 7.89 seconds ===============================================
* Il processo del terminale "C:\Users\roberto.castiglioni\.platformio\penv\Scripts\platformio.exe 'run'" è stato terminato. Codice di uscita: 1.
* Terminale verrà riutilizzato dalle attività, premere un tasto qualsiasi per chiuderlo.