TonUINO Version 3.0 kompilieren inline variables are only available with -std=c++1z or -std=gnu++1z

Hallo zusammen,
ich habe mir unter boerge1/TonUINO runtergeladen und möchte es mit Arduino 1.8.19 kompilieren.
Installierte Bibliotheken:

  • MFRC522 Version 1.4.10
  • JC_Button Version 2.1.2
  • DFPlayer Mini Mp3 by Makuna Version 1.0.7

Beim Überprüfen wirft es jede Menge Fehler aus, die meisten enden auf „inline variables are only available with -std=c++1z or -std=gnu++1z“

In file included from D:\REST\Arduino\TonUINO-DEV 3\Tonuino\src\chip_card.hpp:8:0,
                 from D:\REST\Arduino\TonUINO-DEV 3\Tonuino\src\settings.hpp:7,
                 from D:\REST\Arduino\TonUINO-DEV 3\Tonuino\src\tonuino.hpp:4,
                 from D:\REST\Arduino\TonUINO-DEV 3\Tonuino\Tonuino.ino:1:
D:\REST\Arduino\TonUINO-DEV 3\Tonuino\src\constants.hpp:25:27: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
 inline constexpr uint32_t buttonLongPress      = 1000; // timeout for long press button in ms
                           ^~~~~~~~~~~~~~~
D:\REST\Arduino\TonUINO-DEV 3\Tonuino\src\constants.hpp:26:27: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
 inline constexpr uint8_t  buttonPausePin       = A0;
                           ^~~~~~~~~~~~~~
D:\REST\Arduino\TonUINO-DEV 3\Tonuino\src\constants.hpp:27:27: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
 inline constexpr uint8_t  buttonUpPin          = A1;
                           ^~~~~~~~~~~
D:\REST\Arduino\TonUINO-DEV 3\Tonuino\src\constants.hpp:28:27: warning: inline variables are only available with -std=c++1z or -std=gnu++1z
 inline constexpr uint8_t  buttonDownPin        = A2;
                           ^~~~~~~~~~~~~

Was mache ich falsch?

Hast du die Hinweise beachtet, die @Boerge1 in dem Thema zu seinem Fork gegeben hat

Danke für die schnelle Antwort! Den Hinweis habe ich in der Tat nicht gesehen.
Ich kann damit leider aber auch nicht viel anfangen…
Ich finde nur die Datei „platformio.ini
Wenn ich im Verzeichnis eine Datei plattform.txt mit dem Inhalt „compiler.cpp.flags=-c […]“ anlege passiert auch nichts.
Was mache ich falsch?

Suche doch mal die Datei „plattform.txt“ rekursiv in dem Verzeichnis, wo du Arduino installiert hast.

Habe die Datei unter C:\Program Files (x86)\Arduino\hardware\arduino\avr\platform.txt gefunden (mit einem t) und den alten Eintrag auskommentiert und den neuen eingetragen.
Das hat jedoch nicht geholfen, die Fehlerausgabe ist immer noch wie davor.

[...]
compiler.cpp.cmd=avr-g++
# compiler.cpp.flags=-c -g -Os {compiler.warning_flags} -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto
compiler.cpp.flags=-c -g -Os {compiler.warning_flags} -std=gnu++17 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto
compiler.ar.cmd=avr-gcc-ar
[...]

Hast du auch die IDE Arduino neu gestartet?

Ja, hatte die IDE Arduino beim Editieren geschlossen. Hatte auch die Datei im Nachhinein geprüft, die Änderung wurde nicht zurückgeändert.

Hmm, da fällt mir nur noch ein, dass du vielleicht die falsche Zeile editiert hast. Du musst die Zeile

compiler.cpp.flags=…

und nicht die Zeile

compiler.c.flags=…

editieren.

Edit: Ah, habe gerade oben gesehen, dass du die richtige Zeile genommen hast.
Wie lautet denn der Compiler Aufruf im Ausgabefenster der IDE?
Oder versuche doch mal das vorgeschlagene

-std=gnu++1z

@Bruehwuerfel Hast du es noch geschafft, das Ganze zu compilieren?
@alle Habt ihr alle Probleme, c++17 einzustellen?

@Boerge1 Habe es nicht geschafft, einen Compiler-Aufruf habe ich auch nicht gefunden.
Mit der Version 2.1 funktioniert es. Da die Box ein Geschenk für Anfang Juni wird, mache ich keine Experimente mehr :grinning: