Xinyuan-LilyGO / LilyGo-EPD-4-7-OWM-Weather-Display

Using the LilyGo EPD 4.7" display to show OWM Weather Data
65 stars 27 forks source link

Compile error with library ArduinoJson (v7.0.4) #8

Closed volprecht closed 3 months ago

volprecht commented 3 months ago

Can not compile with error at line 42 at /Arduino/libraries/ArduinoJson/src/ArduinoJson.hpp.

In file included from /Users/lukasvolprecht/Documents/Arduino/libraries/ArduinoJson/src/ArduinoJson.hpp:42, from /Users/lukasvolprecht/Documents/Arduino/libraries/ArduinoJson/src/ArduinoJson.h:9, from /Users/lukasvolprecht/Documents/Arduino/LilyGo-EPD-4-7-OWM-Weather-Display-main/OWM_EPD47_epaper_v2.5/OWM_EPD47_epaper_v2.5.ino:12: /Users/lukasvolprecht/Documents/Arduino/libraries/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp: In instantiation of 'static T ArduinoJson::V704PB2::Converter<T, Enable>::fromJson(ArduinoJson::V704PB2::JsonVariantConst) [with T = char; Enable = void]': /Users/lukasvolprecht/Documents/Arduino/libraries/ArduinoJson/src/ArduinoJson/Variant/VariantRefBase.hpp:52:34: required from 'typename ArduinoJson::V704PB2::detail::enable_if<(! ArduinoJson::V704PB2::detail::ConverterNeedsWriteableRef::value), T>::type ArduinoJson::V704PB2::detail::VariantRefBase::as() const [with T = char; TDerived = ArduinoJson::V704PB2::detail::MemberProxy<ArduinoJson::V704PB2::detail::ElementProxy<ArduinoJson::V704PB2::detail::MemberProxy<ArduinoJson::V704PB2::JsonObject, const char> >, const char>; typename ArduinoJson::V704PB2::detail::enable_if<(! ArduinoJson::V704PB2::detail::ConverterNeedsWriteableRef::value), T>::type = char]' /Users/lukasvolprecht/Documents/Arduino/LilyGo-EPD-4-7-OWM-Weather-Display-main/OWM_EPD47_epaper_v2.5/OWM_EPD47_epaper_v2.5.ino:198:72: required from here /Users/lukasvolprecht/Documents/Arduino/libraries/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp:35:19: error: static assertion failed: type 'char' is not supported, use 'const char' instead static_assert(!detail::is_same<T, char>::value, ^~~ /Users/lukasvolprecht/Documents/Arduino/libraries/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp:40:20: error: no matching function for call to 'convertFromJson(ArduinoJson::V704PB2::JsonVariantConst&, char*&)' convertFromJson(src, result); // Error here? See https://arduinojson.org/v7/unsupported-as/


/Users/lukasvolprecht/Documents/Arduino/libraries/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp:264:13: note: candidate: 'void ArduinoJson::V704PB2::convertFromJson(ArduinoJson::V704PB2::JsonVariantConst, String&)' <near match>
 inline void convertFromJson(JsonVariantConst src, ::String& dst) {
             ^~~~~~~~~~~~~~~
/Users/lukasvolprecht/Documents/Arduino/libraries/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp:264:13: note:   conversion of argument 2 would be ill-formed:
/Users/lukasvolprecht/Documents/Arduino/libraries/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp:40:26: error: cannot bind non-const lvalue reference of type 'String&' to an rvalue of type 'String'
     convertFromJson(src, result);  // Error here? See https://arduinojson.org/v7/unsupported-as/
                          ^~~~~~
In file included from /Users/lukasvolprecht/Library/Arduino15/packages/esp32/hardware/esp32/2.0.16/cores/esp32/Arduino.h:188,
                 from /Users/lukasvolprecht/Documents/Arduino/LilyGo-EPD-4-7-OWM-Weather-Display-main/OWM_EPD47_epaper_v2.5/OWM_EPD47_epaper_v2.5.ino:5:
/Users/lukasvolprecht/Library/Arduino15/packages/esp32/hardware/esp32/2.0.16/cores/esp32/WString.h:59:9: note:   after user-defined conversion: 'String::String(const char*)'
         String(const char *cstr = "");
         ^~~~~~
In file included from /Users/lukasvolprecht/Documents/Arduino/libraries/ArduinoJson/src/ArduinoJson.hpp:42,
                 from /Users/lukasvolprecht/Documents/Arduino/libraries/ArduinoJson/src/ArduinoJson.h:9,
                 from /Users/lukasvolprecht/Documents/Arduino/LilyGo-EPD-4-7-OWM-Weather-Display-main/OWM_EPD47_epaper_v2.5/OWM_EPD47_epaper_v2.5.ino:12:
/Users/lukasvolprecht/Documents/Arduino/libraries/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp:280:13: note: candidate: 'void ArduinoJson::V704PB2::convertFromJson(ArduinoJson::V704PB2::JsonVariantConst, std::__cxx11::string&)' <near match>
 inline void convertFromJson(JsonVariantConst src, std::string& dst) {
             ^~~~~~~~~~~~~~~
/Users/lukasvolprecht/Documents/Arduino/libraries/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp:280:13: note:   conversion of argument 2 would be ill-formed:
/Users/lukasvolprecht/Documents/Arduino/libraries/ArduinoJson/src/ArduinoJson/Variant/ConverterImpl.hpp:40:26: error: cannot bind non-const lvalue reference of type 'std::__cxx11::string&' {aka 'std::__cxx11::basic_string<char>&'} to an rvalue of type 'std::__cxx11::string' {aka 'std::__cxx11::basic_string<char>'}
     convertFromJson(src, result);  // Error here? See https://arduinojson.org/v7/unsupported-as/
                          ^~~~~~
In file included from /Users/lukasvolprecht/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-2021r2-patch5-8.4.0/xtensa-esp32s3-elf/include/c++/8.4.0/string:52,
                 from /Users/lukasvolprecht/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-2021r2-patch5-8.4.0/xtensa-esp32s3-elf/include/c++/8.4.0/stdexcept:39,
                 from /Users/lukasvolprecht/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-2021r2-patch5-8.4.0/xtensa-esp32s3-elf/include/c++/8.4.0/array:39,
                 from /Users/lukasvolprecht/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-2021r2-patch5-8.4.0/xtensa-esp32s3-elf/include/c++/8.4.0/tuple:39,
                 from /Users/lukasvolprecht/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-2021r2-patch5-8.4.0/xtensa-esp32s3-elf/include/c++/8.4.0/functional:54,
                 from /Users/lukasvolprecht/Library/Arduino15/packages/esp32/hardware/esp32/2.0.16/cores/esp32/HardwareSerial.h:49,
                 from /Users/lukasvolprecht/Library/Arduino15/packages/esp32/hardware/esp32/2.0.16/cores/esp32/Arduino.h:196,
                 from /Users/lukasvolprecht/Documents/Arduino/LilyGo-EPD-4-7-OWM-Weather-Display-main/OWM_EPD47_epaper_v2.5/OWM_EPD47_epaper_v2.5.ino:5:
/Users/lukasvolprecht/Library/Arduino15/packages/esp32/tools/xtensa-esp32s3-elf-gcc/esp-2021r2-patch5-8.4.0/xtensa-esp32s3-elf/include/c++/8.4.0/bits/basic_string.h:514:7: note:   after user-defined conversion: 'std::__cxx11::basic_string<_CharT, _Traits, _Alloc>::basic_string(const _CharT*, const _Alloc&) [with _CharT = char; _Traits = std::char_traits<char>; _Alloc = std::allocator<char>]'
       basic_string(const _CharT* __s, const _Alloc& __a = _Alloc())
volprecht commented 3 months ago

Compile success with version ArduinoJson v6.19.4