In file included from /home/james/Arduino/libraries/ESP32_IO_Expander/src/esp_io_expander.hpp:17, from /home/james/Arduino/03_SD_Test/waveshare_sd_card.h:6, from /home/james/Arduino/03_SD_Test/03_SD_Test.ino:1: /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:54:29: error: 'variant' in namespace 'std' does not name a template type using HostConfig = std::variant; ^~~~~~~ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:54:24: note: 'std::variant' is only available from C++17 onwards using HostConfig = std::variant; ^~~ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:74:14: error: 'optional' in namespace 'std' does not name a template type std::optional host; /*!< I2C host configuration */ ^~~~~~~~ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:74:9: note: 'std::optional' is only available from C++17 onwards std::optional host; /*!< I2C host configuration */ ^~~ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp: In member function 'bool esp_expander::Base::Config::isHostConfigValid() const': /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:70:20: error: 'host' was not declared in this scope return host.has_value(); ^~~~ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:70:20: note: suggested alternative: 'cosl' return host.has_value(); ^~~~ cosl /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp: In constructor 'esp_expander::Base::Base(int, int, uint8_t)': /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:102:13: error: no matching function for call to 'esp_expander::Base::HostPartialConfig::HostPartialConfig()' }, ^ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:46:12: note: candidate: 'constexpr esp_expander::Base::HostPartialConfig::HostPartialConfig()' struct HostPartialConfig { ^~~~~~~~~~~~~~~~~ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:46:12: note: candidate expects 0 arguments, 2 provided /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:46:12: note: candidate: 'constexpr esp_expander::Base::HostPartialConfig::HostPartialConfig(const esp_expander::Base::HostPartialConfig&)' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:46:12: note: candidate expects 1 argument, 2 provided /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:46:12: note: candidate: 'constexpr esp_expander::Base::HostPartialConfig::HostPartialConfig(esp_expander::Base::HostPartialConfig&&)' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:46:12: note: candidate expects 1 argument, 2 provided /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:105:13: error: no matching function for call to 'esp_expander::Base::DeviceConfig::DeviceConfig()' } ^ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:56:12: note: candidate: 'constexpr esp_expander::Base::DeviceConfig::DeviceConfig()' struct DeviceConfig { ^~~~~~~~~~~~ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:56:12: note: candidate expects 0 arguments, 1 provided /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:56:12: note: candidate: 'constexpr esp_expander::Base::DeviceConfig::DeviceConfig(const esp_expander::Base::DeviceConfig&)' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:56:12: note: no known conversion for argument 1 from 'uint8_t' {aka 'unsigned char'} to 'const esp_expander::Base::DeviceConfig&' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:56:12: note: candidate: 'constexpr esp_expander::Base::DeviceConfig::DeviceConfig(esp_expander::Base::DeviceConfig&&)' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:56:12: note: no known conversion for argument 1 from 'uint8_t' {aka 'unsigned char'} to 'esp_expander::Base::DeviceConfig&&' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:106:9: error: no matching function for call to 'esp_expander::Base::Config::Config()' } ^ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:63:12: note: candidate: 'constexpr esp_expander::Base::Config::Config()' struct Config { ^~~~~~ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:63:12: note: candidate expects 0 arguments, 3 provided /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:63:12: note: candidate: 'constexpr esp_expander::Base::Config::Config(const esp_expander::Base::Config&)' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:63:12: note: candidate expects 1 argument, 3 provided /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:63:12: note: candidate: 'constexpr esp_expander::Base::Config::Config(esp_expander::Base::Config&&)' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:63:12: note: candidate expects 1 argument, 3 provided /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp: In constructor 'esp_expander::Base::Base(int, uint8_t)': /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:122:13: error: no matching function for call to 'esp_expander::Base::DeviceConfig::DeviceConfig()' } ^ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:56:12: note: candidate: 'constexpr esp_expander::Base::DeviceConfig::DeviceConfig()' struct DeviceConfig { ^~~~~~~~~~~~ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:56:12: note: candidate expects 0 arguments, 1 provided /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:56:12: note: candidate: 'constexpr esp_expander::Base::DeviceConfig::DeviceConfig(const esp_expander::Base::DeviceConfig&)' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:56:12: note: no known conversion for argument 1 from 'uint8_t' {aka 'unsigned char'} to 'const esp_expander::Base::DeviceConfig&' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:56:12: note: candidate: 'constexpr esp_expander::Base::DeviceConfig::DeviceConfig(esp_expander::Base::DeviceConfig&&)' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:56:12: note: no known conversion for argument 1 from 'uint8_t' {aka 'unsigned char'} to 'esp_expander::Base::DeviceConfig&&' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:123:9: error: no matching function for call to 'esp_expander::Base::Config::Config()' } ^ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:63:12: note: candidate: 'constexpr esp_expander::Base::Config::Config()' struct Config { ^~~~~~ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:63:12: note: candidate expects 0 arguments, 2 provided /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:63:12: note: candidate: 'constexpr esp_expander::Base::Config::Config(const esp_expander::Base::Config&)' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:63:12: note: candidate expects 1 argument, 2 provided /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:63:12: note: candidate: 'constexpr esp_expander::Base::Config::Config(esp_expander::Base::Config&&)' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:63:12: note: candidate expects 1 argument, 2 provided In file included from /home/james/Arduino/libraries/ESP32_IO_Expander/src/esp_io_expander.hpp:17, from /home/james/Arduino/03_SD_Test/waveshare_sd_card.h:6, from /home/james/Arduino/03_SD_Test/waveshare_sd_card.cpp:16: /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:54:29: error: 'variant' in namespace 'std' does not name a template type using HostConfig = std::variant; ^~~~~~~ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:54:24: note: 'std::variant' is only available from C++17 onwards using HostConfig = std::variant; ^~~ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:74:14: error: 'optional' in namespace 'std' does not name a template type std::optional host; /*!< I2C host configuration */ ^~~~~~~~ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:74:9: note: 'std::optional' is only available from C++17 onwards std::optional host; /*!< I2C host configuration */ ^~~ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp: In member function 'bool esp_expander::Base::Config::isHostConfigValid() const': /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:70:20: error: 'host' was not declared in this scope return host.has_value(); ^~~~ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:70:20: note: suggested alternative: 'cosl' return host.has_value(); ^~~~ cosl /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp: In constructor 'esp_expander::Base::Base(int, int, uint8_t)': /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:102:13: error: no matching function for call to 'esp_expander::Base::HostPartialConfig::HostPartialConfig()' }, ^ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:46:12: note: candidate: 'constexpr esp_expander::Base::HostPartialConfig::HostPartialConfig()' struct HostPartialConfig { ^~~~~~~~~~~~~~~~~ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:46:12: note: candidate expects 0 arguments, 2 provided /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:46:12: note: candidate: 'constexpr esp_expander::Base::HostPartialConfig::HostPartialConfig(const esp_expander::Base::HostPartialConfig&)' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:46:12: note: candidate expects 1 argument, 2 provided /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:46:12: note: candidate: 'constexpr esp_expander::Base::HostPartialConfig::HostPartialConfig(esp_expander::Base::HostPartialConfig&&)' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:46:12: note: candidate expects 1 argument, 2 provided /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:105:13: error: no matching function for call to 'esp_expander::Base::DeviceConfig::DeviceConfig()' } ^ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:56:12: note: candidate: 'constexpr esp_expander::Base::DeviceConfig::DeviceConfig()' struct DeviceConfig { ^~~~~~~~~~~~ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:56:12: note: candidate expects 0 arguments, 1 provided /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:56:12: note: candidate: 'constexpr esp_expander::Base::DeviceConfig::DeviceConfig(const esp_expander::Base::DeviceConfig&)' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:56:12: note: no known conversion for argument 1 from 'uint8_t' {aka 'unsigned char'} to 'const esp_expander::Base::DeviceConfig&' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:56:12: note: candidate: 'constexpr esp_expander::Base::DeviceConfig::DeviceConfig(esp_expander::Base::DeviceConfig&&)' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:56:12: note: no known conversion for argument 1 from 'uint8_t' {aka 'unsigned char'} to 'esp_expander::Base::DeviceConfig&&' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:106:9: error: no matching function for call to 'esp_expander::Base::Config::Config()' } ^ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:63:12: note: candidate: 'constexpr esp_expander::Base::Config::Config()' struct Config { ^~~~~~ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:63:12: note: candidate expects 0 arguments, 3 provided /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:63:12: note: candidate: 'constexpr esp_expander::Base::Config::Config(const esp_expander::Base::Config&)' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:63:12: note: candidate expects 1 argument, 3 provided /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:63:12: note: candidate: 'constexpr esp_expander::Base::Config::Config(esp_expander::Base::Config&&)' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:63:12: note: candidate expects 1 argument, 3 provided /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp: In constructor 'esp_expander::Base::Base(int, uint8_t)': /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:122:13: error: no matching function for call to 'esp_expander::Base::DeviceConfig::DeviceConfig()' } ^ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:56:12: note: candidate: 'constexpr esp_expander::Base::DeviceConfig::DeviceConfig()' struct DeviceConfig { ^~~~~~~~~~~~ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:56:12: note: candidate expects 0 arguments, 1 provided /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:56:12: note: candidate: 'constexpr esp_expander::Base::DeviceConfig::DeviceConfig(const esp_expander::Base::DeviceConfig&)' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:56:12: note: no known conversion for argument 1 from 'uint8_t' {aka 'unsigned char'} to 'const esp_expander::Base::DeviceConfig&' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:56:12: note: candidate: 'constexpr esp_expander::Base::DeviceConfig::DeviceConfig(esp_expander::Base::DeviceConfig&&)' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:56:12: note: no known conversion for argument 1 from 'uint8_t' {aka 'unsigned char'} to 'esp_expander::Base::DeviceConfig&&' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:123:9: error: no matching function for call to 'esp_expander::Base::Config::Config()' } ^ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:63:12: note: candidate: 'constexpr esp_expander::Base::Config::Config()' struct Config { ^~~~~~ /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:63:12: note: candidate expects 0 arguments, 2 provided /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:63:12: note: candidate: 'constexpr esp_expander::Base::Config::Config(const esp_expander::Base::Config&)' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:63:12: note: candidate expects 1 argument, 2 provided /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:63:12: note: candidate: 'constexpr esp_expander::Base::Config::Config(esp_expander::Base::Config&&)' /home/james/Arduino/libraries/ESP32_IO_Expander/src/chip/esp_expander_base.hpp:63:12: note: candidate expects 1 argument, 2 provided Plusieurs bibliothèque trouvées pour "SD.h" Utilisé: /home/james/.arduino15/packages/esp32/hardware/esp32/2.0.17/libraries/SD Non utilisé: /home/james/.arduino15/libraries/SD exit status 1 Compilation error: exit status 1