esp8266-fastled-webserver icon indicating copy to clipboard operation
esp8266-fastled-webserver copied to clipboard

Compiling on latest PlatformIO

Open madmaxed opened this issue 2 years ago • 4 comments

I'm having trouble getting the current main branch to compile on PlatformIO.

The problem is with the simplehacks/array_size2. I have attached my PlatformIO terminal.

reference to 'detail' is ambiguous namespace ArduinoJson::V6213PA2::detail

  • Executing task: C:\Users\mxd.platformio\penv\Scripts\platformio.exe run --environment fastled_webserver__d1_mini

Processing fastled_webserver__d1_mini (platform: [email protected]; board: d1_mini; framework: arduino) ------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via -v, --verbose option CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/d1_mini.html PLATFORM: Espressif 8266 (2.6.3) > WeMos D1 R2 and mini HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash PACKAGES:

  • framework-arduinoespressif8266 @ 3.20704.7 (2.7.4)
  • tool-esptool @ 1.413.0 (4.13)
  • tool-esptoolpy @ 1.30000.201119 (3.0.0)
  • toolchain-xtensa @ 2.40802.200502 (4.8.2) Converting esp8266-fastled-webserver.ino LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf LDF Modes: Finder ~ chain, Compatibility ~ strict Found 33 compatible libraries Scanning dependencies... Dependency Graph |-- FastLED @ 3.4.0 |-- ArduinoJson @ 6.21.3 |-- NTPClient @ 3.1.0 |-- WiFiManager @ 2.0.16-rc.2+sha.3a303ee |-- EEPROM @ 1.0 |-- ESP8266HTTPClient @ 1.2 |-- ESP8266HTTPUpdateServer @ 1.0 |-- ESP8266mDNS @ 1.2 |-- ESP8266WebServer @ 1.0 |-- ESP8266WiFi @ 1.0 |-- LittleFS(esp8266) @ 0.1.0 Building in release mode Compiling .pio\build\fastled_webserver__d1_mini\src\GradientPalettes.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\src\esp8266-fastled-webserver.ino.cpp.o Archiving .pio\build\fastled_webserver__d1_mini\lib00a\libESP8266WiFi.a Archiving .pio\build\fastled_webserver__d1_mini\lib590\libDNSServer.a Indexing .pio\build\fastled_webserver__d1_mini\lib590\libDNSServer.a Indexing .pio\build\fastled_webserver__d1_mini\lib00a\libESP8266WiFi.a Compiling .pio\build\fastled_webserver__d1_mini\libe95\ESP8266mDNS\LEAmDNS_Transfer.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\libe7f\ESP8266WebServer\detail\mimetable.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\lib110\WiFiManager\WiFiManager.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\libc0b\EEPROM\EEPROM.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\lib632\ESP8266HTTPClient\ESP8266HTTPClient.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\lib259\LittleFS\LittleFS.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\lib259\LittleFS\lfs.c.o Compiling .pio\build\fastled_webserver__d1_mini\lib259\LittleFS\lfs_util.c.o Archiving .pio\build\fastled_webserver__d1_mini\libFrameworkArduinoVariant.a Indexing .pio\build\fastled_webserver__d1_mini\libFrameworkArduinoVariant.a Compiling .pio\build\fastled_webserver__d1_mini\FrameworkArduino\Crypto.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\FrameworkArduino\Esp-frag.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\FrameworkArduino\Esp-version.cpp.o Archiving .pio\build\fastled_webserver__d1_mini\libe7f\libESP8266WebServer.a Compiling .pio\build\fastled_webserver__d1_mini\FrameworkArduino\Esp.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\FrameworkArduino\FS.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\FrameworkArduino\FSnoop.cpp.o Indexing .pio\build\fastled_webserver__d1_mini\libe7f\libESP8266WebServer.a Compiling .pio\build\fastled_webserver__d1_mini\FrameworkArduino\FunctionalInterrupt.cpp.o Archiving .pio\build\fastled_webserver__d1_mini\libc0b\libEEPROM.a C:\Users\mxd.platformio\packages\[email protected]\cores\esp8266\Crypto.cpp:101:8: warning: unused parameter 'hashTypeNaturalLength' [-Wunused-parameter] String createBearsslHmac(const br_hash_class *hashType, const uint8_t hashTypeNaturalLength, const String &message, const void *hashKey, const size_t hashKeyLength, const size_t hmacLength) ^ C:\Users\mxd.platformio\packages\[email protected]\cores\esp8266\Crypto.cpp:153:8: warning: unused parameter 'hashTypeNaturalLength' [-Wunused-parameter] String createBearsslHmacCT(const br_hash_class *hashType, const uint8_t hashTypeNaturalLength, const String &message, const void *hashKey, const size_t hashKeyLength, const size_t hmacLength) ^ Compiling .pio\build\fastled_webserver__d1_mini\FrameworkArduino\HardwareSerial.cpp.o In file included from esp8266-fastled-webserver\common.h:56:0, from esp8266-fastled-webserver\GradientPalettes.cpp:1: esp8266-fastled-webserver./include/simplehacks/array_size2.h:65:30: error: reference to 'detail' is ambiguous #define ARRAY_SIZE2(arr) detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr) ^ esp8266-fastled-webserver\GradientPalettes.cpp:518:39: note: in expansion of macro 'ARRAY_SIZE2' const uint8_t gGradientPaletteCount = ARRAY_SIZE2(gGradientPalettes); ^ esp8266-fastled-webserver./include/simplehacks/array_size2.h:58:5: note: candidates are: namespace detail { } { ^ In file included from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:7:0, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRefBase.hpp:8, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/ElementProxy.hpp:7, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/JsonArray.hpp:7, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.hpp:29, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.h:9, from esp8266-fastled-webserver\common.h:33, from esp8266-fastled-webserver\GradientPalettes.cpp:1: .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:16:1: note: namespace ArduinoJson::V6213PA2::detail { } ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE ^ In file included from esp8266-fastled-webserver\common.h:56:0, from esp8266-fastled-webserver\GradientPalettes.cpp:1: esp8266-fastled-webserver./include/simplehacks/array_size2.h:65:30: error: reference to 'detail' is ambiguous #define ARRAY_SIZE2(arr) detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr) ^ esp8266-fastled-webserver\GradientPalettes.cpp:518:39: note: in expansion of macro 'ARRAY_SIZE2' const uint8_t gGradientPaletteCount = ARRAY_SIZE2(gGradientPalettes); ^ esp8266-fastled-webserver./include/simplehacks/array_size2.h:58:5: note: candidates are: namespace detail { } { ^ Indexing .pio\build\fastled_webserver__d1_mini\libc0b\libEEPROM.a In file included from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:7:0, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRefBase.hpp:8, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/ElementProxy.hpp:7, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/JsonArray.hpp:7, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.hpp:29, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.h:9, from esp8266-fastled-webserver\common.h:33, from esp8266-fastled-webserver\GradientPalettes.cpp:1: .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:16:1: note: namespace ArduinoJson::V6213PA2::detail { } ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE ^ In file included from esp8266-fastled-webserver\common.h:56:0, from D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19: esp8266-fastled-webserver./include/simplehacks/array_size2.h:65:30: error: reference to 'detail' is ambiguous Compiling .pio\build\fastled_webserver__d1_mini\FrameworkArduino\IPAddress.cpp.o #define ARRAY_SIZE2(arr) detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr) ^ D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:235:30: note: in expansion of macro 'ARRAY_SIZE2' const uint8_t patternCount = ARRAY_SIZE2(patterns); ^ esp8266-fastled-webserver./include/simplehacks/array_size2.h:58:5: note: candidates are: namespace detail { } { Compiling .pio\build\fastled_webserver__d1_mini\FrameworkArduino\MD5Builder.cpp.o ^ In file included from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:7:0, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRefBase.hpp:8, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/ElementProxy.hpp:7, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/JsonArray.hpp:7, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.hpp:29, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.h:9, from esp8266-fastled-webserver\common.h:33, from D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19: .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:16:1: note: namespace ArduinoJson::V6213PA2::detail { } ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE ^ In file included from esp8266-fastled-webserver\common.h:56:0, from D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19: esp8266-fastled-webserver./include/simplehacks/array_size2.h:65:30: error: reference to 'detail' is ambiguous #define ARRAY_SIZE2(arr) detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr) ^ D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:235:30: note: in expansion of macro 'ARRAY_SIZE2' const uint8_t patternCount = ARRAY_SIZE2(patterns); ^ esp8266-fastled-webserver./include/simplehacks/array_size2.h:58:5: note: candidates are: namespace detail { } { ^ In file included from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:7:0, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRefBase.hpp:8, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/ElementProxy.hpp:7, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/JsonArray.hpp:7, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.hpp:29, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.h:9, from esp8266-fastled-webserver\common.h:33, from D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19: .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:16:1: note: namespace ArduinoJson::V6213PA2::detail { } ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE ^ In file included from esp8266-fastled-webserver\common.h:56:0, from D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19: esp8266-fastled-webserver./include/simplehacks/array_size2.h:65:30: error: reference to 'detail' is ambiguous #define ARRAY_SIZE2(arr) detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr) ^ D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:248:30: note: in expansion of macro 'ARRAY_SIZE2' const uint8_t paletteCount = ARRAY_SIZE2(palettes); ^ esp8266-fastled-webserver./include/simplehacks/array_size2.h:58:5: note: candidates are: namespace detail { } { ^ In file included from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:7:0, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRefBase.hpp:8, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/ElementProxy.hpp:7, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/JsonArray.hpp:7, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.hpp:29, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.h:9, from esp8266-fastled-webserver\common.h:33, from D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19: .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:16:1: note: namespace ArduinoJson::V6213PA2::detail { } ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE ^ In file included from esp8266-fastled-webserver\common.h:56:0, from D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19: esp8266-fastled-webserver./include/simplehacks/array_size2.h:65:30: error: reference to 'detail' is ambiguous #define ARRAY_SIZE2(arr) detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr) ^ D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:248:30: note: in expansion of macro 'ARRAY_SIZE2' const uint8_t paletteCount = ARRAY_SIZE2(palettes); ^ esp8266-fastled-webserver./include/simplehacks/array_size2.h:58:5: note: candidates are: namespace detail { } { ^ In file included from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:7:0, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRefBase.hpp:8, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/ElementProxy.hpp:7, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/JsonArray.hpp:7, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.hpp:29, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.h:9, from esp8266-fastled-webserver\common.h:33, from D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19: .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:16:1: note: namespace ArduinoJson::V6213PA2::detail { } ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE ^ D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:250:39: error: size of array 'paletteNames' is not an integral constant-expression const String paletteNames[paletteCount] = { ^ D:/src/esp8266-fastled-webserver_madmaxed/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:259:1: error: too many initializers for 'const String [1]' }; ^ *** [.pio\build\fastled_webserver__d1_mini\src\GradientPalettes.cpp.o] Error 1 *** [.pio\build\fastled_webserver__d1_mini\src\esp8266-fastled-webserver.ino.cpp.o] Error 1 ========================================================== [FAILED] Took 5.58 seconds ========================================================== Environment Status Duration

fastled_webserver__d1_mini FAILED 00:00:05.576 ==================================================== 1 failed, 0 succeeded in 00:00:05.576 ====================================================

  • The terminal process "C:\Users\mxd.platformio\penv\Scripts\platformio.exe 'run', '--environment', 'fastled_webserver__d1_mini'" terminated with exit code: 1.
  • Terminal will be reused by tasks, press any key to close it.

madmaxed avatar Aug 05 '23 01:08 madmaxed

Hey, sorry for the trouble. Mind trying this branch? https://github.com/jasoncoon/esp8266-fastled-webserver/tree/jcoon/hack-fix-all-json-truncation

It's the one I last used (which has been a while). I just tried it, compiled fine for me.

jasoncoon avatar Aug 05 '23 15:08 jasoncoon

Thanks. I tried switching to that branch, and also downloaded a clean copy of the repo and switching to that branch with the same results. I have included a couple of images from VS Code this time and corresponding pop-up messages.

no instance of function template "ArduinoJson::V6213PA2::detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER" matches the argument listC/C++(304) esp8266-fastled-webserver.ino(248, 30): argument types are: () #define ARRAY_SIZE2(arr) detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr) Expands to:

detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(patterns)

image

reference to 'detail' is ambiguous namespace ArduinoJson::V6213PA2::detail

image

I wonder if I might have some basic configuration problem. Below is another copy of the terminal window while trying to compile the branch you suggested:

  • Executing task: C:\Users\mxd.platformio\penv\Scripts\platformio.exe run --environment fastled_webserver__d1_mini

Processing fastled_webserver__d1_mini (platform: [email protected]; board: d1_mini; framework: arduino) ------------------------------------------------------------------------------------------------------------------------------------------------------Verbose mode can be enabled via -v, --verbose option CONFIGURATION: https://docs.platformio.org/page/boards/espressif8266/d1_mini.html PLATFORM: Espressif 8266 (2.6.3) > WeMos D1 R2 and mini HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash PACKAGES:

  • framework-arduinoespressif8266 @ 3.20704.7 (2.7.4)
  • tool-esptool @ 1.413.0 (4.13)
  • tool-esptoolpy @ 1.30000.201119 (3.0.0)
  • toolchain-xtensa @ 2.40802.200502 (4.8.2) Converting esp8266-fastled-webserver.ino LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf LDF Modes: Finder ~ chain, Compatibility ~ strict Found 33 compatible libraries Scanning dependencies... Dependency Graph |-- FastLED @ 3.4.0
    |-- ArduinoJson @ 6.21.3 |-- NTPClient @ 3.1.0 |-- WiFiManager @ 2.0.16-rc.2+sha.3a303ee |-- EEPROM @ 1.0 |-- ESP8266HTTPClient @ 1.2 |-- ESP8266HTTPUpdateServer @ 1.0 |-- ESP8266mDNS @ 1.2 |-- ESP8266WebServer @ 1.0 |-- ESP8266WiFi @ 1.0 |-- LittleFS(esp8266) @ 0.1.0 Building in release mode Compiling .pio\build\fastled_webserver__d1_mini\src\GradientPalettes.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\src\esp8266-fastled-webserver.ino.cpp.o Archiving .pio\build\fastled_webserver__d1_mini\lib18a\libSoftwareSerial.a Compiling .pio\build\fastled_webserver__d1_mini\libff6\SPI\SPI.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\libb36\NTPClient\NTPClient.cpp.o Indexing .pio\build\fastled_webserver__d1_mini\lib18a\libSoftwareSerial.a Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\BearSSLHelpers.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\CertStoreBearSSL.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\ESP8266WiFi.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\ESP8266WiFiAP.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\ESP8266WiFiGeneric.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\ESP8266WiFiGratuitous.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\ESP8266WiFiMulti.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\ESP8266WiFiSTA-WPS.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\ESP8266WiFiSTA.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\ESP8266WiFiScan.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\WiFiClient.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\WiFiClientSecureAxTLS.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\WiFiClientSecureBearSSL.cpp.o Archiving .pio\build\fastled_webserver__d1_mini\libff6\libSPI.a Archiving .pio\build\fastled_webserver__d1_mini\libb36\libNTPClient.a Indexing .pio\build\fastled_webserver__d1_mini\libff6\libSPI.a Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\WiFiServer.cpp.o Indexing .pio\build\fastled_webserver__d1_mini\libb36\libNTPClient.a Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\WiFiServerSecureAxTLS.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\WiFiServerSecureBearSSL.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\lib00a\ESP8266WiFi\WiFiUdp.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\lib590\DNSServer\DNSServer.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\libe95\ESP8266mDNS\ESP8266mDNS.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\libe95\ESP8266mDNS\ESP8266mDNS_Legacy.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\libe95\ESP8266mDNS\LEAmDNS.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\libe95\ESP8266mDNS\LEAmDNS_Control.cpp.o Compiling .pio\build\fastled_webserver__d1_mini\libe95\ESP8266mDNS\LEAmDNS_Helpers.cpp.o In file included from esp8266-fastled-webserver\common.h:56:0, from esp8266-fastled-webserver\GradientPalettes.cpp:1: esp8266-fastled-webserver./include/simplehacks/array_size2.h:65:30: error: reference to 'detail' is ambiguous #define ARRAY_SIZE2(arr) detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr) ^ esp8266-fastled-webserver\GradientPalettes.cpp:518:39: note: in expansion of macro 'ARRAY_SIZE2' const uint8_t gGradientPaletteCount = ARRAY_SIZE2(gGradientPalettes); ^ esp8266-fastled-webserver./include/simplehacks/array_size2.h:58:5: note: candidates are: namespace detail { } { ^ In file included from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:7:0, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRefBase.hpp:8, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/ElementProxy.hpp:7, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/JsonArray.hpp:7, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.hpp:29, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.h:9, from esp8266-fastled-webserver\common.h:33, from esp8266-fastled-webserver\GradientPalettes.cpp:1: .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:16:1: note: namespace ArduinoJson::V6213PA2::detail { } ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE ^ In file included from esp8266-fastled-webserver\common.h:56:0, from esp8266-fastled-webserver\GradientPalettes.cpp:1: esp8266-fastled-webserver./include/simplehacks/array_size2.h:65:30: error: reference to 'detail' is ambiguous #define ARRAY_SIZE2(arr) detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr) ^ esp8266-fastled-webserver\GradientPalettes.cpp:518:39: note: in expansion of macro 'ARRAY_SIZE2' const uint8_t gGradientPaletteCount = ARRAY_SIZE2(gGradientPalettes); ^ esp8266-fastled-webserver./include/simplehacks/array_size2.h:58:5: note: candidates are: namespace detail { } Compiling .pio\build\fastled_webserver__d1_mini\libe95\ESP8266mDNS\LEAmDNS_Structs.cpp.o { ^ In file included from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:7:0, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRefBase.hpp:8, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/ElementProxy.hpp:7, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/JsonArray.hpp:7, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.hpp:29, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.h:9, from esp8266-fastled-webserver\common.h:33, from esp8266-fastled-webserver\GradientPalettes.cpp:1: .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:16:1: note: namespace ArduinoJson::V6213PA2::detail { } ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE ^ In file included from esp8266-fastled-webserver\common.h:56:0, from D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19: esp8266-fastled-webserver./include/simplehacks/array_size2.h:65:30: error: reference to 'detail' is ambiguous #define ARRAY_SIZE2(arr) detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr) ^ D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:248:30: note: in expansion of macro 'ARRAY_SIZE2' const uint8_t patternCount = ARRAY_SIZE2(patterns); ^ esp8266-fastled-webserver./include/simplehacks/array_size2.h:58:5: note: candidates are: namespace detail { } { ^ In file included from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:7:0, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRefBase.hpp:8, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/ElementProxy.hpp:7, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/JsonArray.hpp:7, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.hpp:29, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.h:9, from esp8266-fastled-webserver\common.h:33, from D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19: .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:16:1: note: namespace ArduinoJson::V6213PA2::detail { } ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE ^ In file included from esp8266-fastled-webserver\common.h:56:0, from D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19: esp8266-fastled-webserver./include/simplehacks/array_size2.h:65:30: error: reference to 'detail' is ambiguous #define ARRAY_SIZE2(arr) detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr) ^ D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:248:30: note: in expansion of macro 'ARRAY_SIZE2' const uint8_t patternCount = ARRAY_SIZE2(patterns); ^ esp8266-fastled-webserver./include/simplehacks/array_size2.h:58:5: note: candidates are: namespace detail { } { ^ In file included from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:7:0, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRefBase.hpp:8, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/ElementProxy.hpp:7, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/JsonArray.hpp:7, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.hpp:29, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.h:9, from esp8266-fastled-webserver\common.h:33, from D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19: .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:16:1: note: namespace ArduinoJson::V6213PA2::detail { } ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE ^ In file included from esp8266-fastled-webserver\common.h:56:0, from D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19: esp8266-fastled-webserver./include/simplehacks/array_size2.h:65:30: error: reference to 'detail' is ambiguous #define ARRAY_SIZE2(arr) detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr) ^ D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:261:30: note: in expansion of macro 'ARRAY_SIZE2' const uint8_t paletteCount = ARRAY_SIZE2(palettes); ^ esp8266-fastled-webserver./include/simplehacks/array_size2.h:58:5: note: candidates are: namespace detail { } { ^ In file included from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:7:0, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRefBase.hpp:8, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/ElementProxy.hpp:7, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/JsonArray.hpp:7, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.hpp:29, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.h:9, from esp8266-fastled-webserver\common.h:33, from D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19: .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:16:1: note: namespace ArduinoJson::V6213PA2::detail { } ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE ^ *** [.pio\build\fastled_webserver__d1_mini\src\GradientPalettes.cpp.o] Error 1 In file included from esp8266-fastled-webserver\common.h:56:0, from D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19: esp8266-fastled-webserver./include/simplehacks/array_size2.h:65:30: error: reference to 'detail' is ambiguous #define ARRAY_SIZE2(arr) detail::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr) ^ D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:261:30: note: in expansion of macro 'ARRAY_SIZE2' const uint8_t paletteCount = ARRAY_SIZE2(palettes); ^ esp8266-fastled-webserver./include/simplehacks/array_size2.h:58:5: note: candidates are: namespace detail { } { ^ In file included from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:7:0, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/VariantRefBase.hpp:8, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/ElementProxy.hpp:7, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Array/JsonArray.hpp:7, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.hpp:29, from .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson.h:9, from esp8266-fastled-webserver\common.h:33, from D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:19: .pio\libdeps\fastled_webserver__d1_mini\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:16:1: note: namespace ArduinoJson::V6213PA2::detail { } ARDUINOJSON_BEGIN_PRIVATE_NAMESPACE ^ D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:263:39: error: size of array 'paletteNames' is not an integral constant-expression const String paletteNames[paletteCount] = { ^ D:/src/esp8266-fastled-webserver/esp8266-fastled-webserver/esp8266-fastled-webserver.ino:272:1: error: too many initializers for 'const String [1]' }; ^ *** [.pio\build\fastled_webserver__d1_mini\src\esp8266-fastled-webserver.ino.cpp.o] Error 1 ============================================================= [FAILED] Took 5.55 seconds ============================================================= Environment Status Duration

fastled_webserver__d1_mini FAILED 00:00:05.548 ======================================================= 1 failed, 0 succeeded in 00:00:05.548 =======================================================

madmaxed avatar Aug 05 '23 17:08 madmaxed

Hey, sorry for the trouble. Mind trying this branch? https://github.com/jasoncoon/esp8266-fastled-webserver/tree/jcoon/hack-fix-all-json-truncation

It's the one I last used (which has been a while). I just tried it, compiled fine for me.

I tried this and my errors didn't change. What am I doing wrong?

\Documents\Arduino\libraries\ArduinoJson\src/ArduinoJson/Variant/Converter.hpp:9:1: error: pasting ")" and "2" does not give a valid preprocessing token 9 | ARDUINOJSON_BEGIN_PUBLIC_NAMESPACE | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

jordanadania avatar Dec 08 '23 04:12 jordanadania

Juste rename detail to detaill

namespace detaill
{
    template <typename T, size_t N>
    constexpr size_t ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(T const (&)[N]) noexcept
    {
        return N;
    }
} // namespace detaill
#define ARRAY_SIZE2(arr) detaill::ARRAY_SIZE2_ARGUMENT_CANNOT_BE_POINTER(arr)

RomRider avatar Apr 23 '24 19:04 RomRider