DCC-EX / EX-T3-WiFi

ESP32 based WiFi throttle for DCC++
GNU General Public License v3.0
16 stars 4 forks source link

platformio compile errors #1

Closed jregholdsworth closed 1 year ago

jregholdsworth commented 1 year ago

lots of compile errors in platformio as listed below. I know its just a few simple problems or just me being thick..but..Help!:

Compiling .pio\build\firebeetle2\src\WiFiUI.cpp.o Compiling .pio\build\firebeetle2\src\main.cpp.o src/Locos.cpp: In member function 'void Locos::add(uint16_t)': src/Locos.cpp:21:13: error: 'find' is not a member of 'std' auto it = std::find(_locos.begin(), _locos.end(), address); ^ src/Locos.cpp: In member function 'uint16_t Locos::remove()': src/Locos.cpp:36:13: error: 'find' is not a member of 'std' auto it = std::find(_locos.begin(), _locos.end(), address); ^ Compiling .pio\build\firebeetle2\lib7d3\WiFi\WiFiGeneric.cpp.o Compiling .pio\build\firebeetle2\lib7d3\WiFi\WiFiMulti.cpp.o Compiling .pio\build\firebeetle2\lib7d3\WiFi\WiFiSTA.cpp.o Compiling .pio\build\firebeetle2\lib7d3\WiFi\WiFiScan.cpp.o Compiling .pio\build\firebeetle2\lib7d3\WiFi\WiFiServer.cpp.o Compiling .pio\build\firebeetle2\lib7d3\WiFi\WiFiUdp.cpp.o In file included from lib/UI/UI.h:8:0, from src/SettingsUI.h:4, from src/SettingsUI.cpp:1: lib/UI/Elements/Button.h: In constructor 'Button::Appearance::Appearance(const String&, uint16_t, uint16_t, uint16_t, const String&)':lib/UI/Elements/Button.h:17:18: error: 'Button::Appearance::border' will be initialized after [-Werror=reorder] uint16_t border; ^ lib/UI/Elements/Button.h:14:16: error: 'String Button::Appearance::icon' [-Werror=reorder] String icon; ^ lib/UI/Elements/Button.h:19:9: error: when initialized here [-Werror=reorder] Appearance(const String &label, uint16_t color, uint16_t fill, uint16_t border, const String &icon = "") ^ In file included from lib/UI/UI.h:8:0, from src/LocoByNameUI.h:4, from src/LocoByNameUI.cpp:1: lib/UI/Elements/Button.h: In constructor 'Button::Appearance::Appearance(const String&, uint16_t, uint16_t, uint16_t, const String&)':lib/UI/Elements/Button.h:17:18: error: 'Button::Appearance::border' will be initialized after [-Werror=reorder] uint16_t border; ^ lib/UI/Elements/Button.h:14:16: error: 'String Button::Appearance::icon' [-Werror=reorder] String icon; ^ lib/UI/Elements/Button.h:19:9: error: when initialized here [-Werror=reorder] Appearance(const String &label, uint16_t color, uint16_t fill, uint16_t border, const String &icon = "") ^ In file included from lib/UI/UI.h:8:0, from src/MenuUI.h:4, from src/MenuUI.cpp:1: lib/UI/Elements/Button.h: In constructor 'Button::Appearance::Appearance(const String&, uint16_t, uint16_t, uint16_t, const String&)':lib/UI/Elements/Button.h:17:18: error: 'Button::Appearance::border' will be initialized after [-Werror=reorder] uint16_t border; ^ lib/UI/Elements/Button.h:14:16: error: 'String Button::Appearance::icon' [-Werror=reorder] String icon; ^ lib/UI/Elements/Button.h:19:9: error: when initialized here [-Werror=reorder] Appearance(const String &label, uint16_t color, uint16_t fill, uint16_t border, const String &icon = "") ^ In file included from lib/UI/UI.h:8:0, from src/ProgramUI.h:4, from src/ProgramUI.cpp:1: lib/UI/Elements/Button.h: In constructor 'Button::Appearance::Appearance(const String&, uint16_t, uint16_t, uint16_t, const String&)':lib/UI/Elements/Button.h:17:18: error: 'Button::Appearance::border' will be initialized after [-Werror=reorder] uint16_t border; ^ lib/UI/Elements/Button.h:14:16: error: 'String Button::Appearance::icon' [-Werror=reorder] String icon; ^ lib/UI/Elements/Button.h:19:9: error: when initialized here [-Werror=reorder] Appearance(const String &label, uint16_t color, uint16_t fill, uint16_t border, const String &icon = "") ^ Compiling .pio\build\firebeetle2\lib55a\ESP Async WebServer\AsyncEventSource.cpp.o [.pio\build\firebeetle2\src\Locos.cpp.o] Error 1 In file included from lib/UI/UI.h:8:0, from src/LocoUI.h:5, from src/LocoUI.cpp:1: lib/UI/Elements/Button.h: In constructor 'Button::Appearance::Appearance(const String&, uint16_t, uint16_t, uint16_t, const String&)':lib/UI/Elements/Button.h:17:18: error: 'Button::Appearance::border' will be initialized after [-Werror=reorder] uint16_t border; ^ lib/UI/Elements/Button.h:14:16: error: 'String Button::Appearance::icon' [-Werror=reorder] String icon; ^ lib/UI/Elements/Button.h:19:9: error: when initialized here [-Werror=reorder] Appearance(const String &label, uint16_t color, uint16_t fill, uint16_t border, const String &icon = "") ^ In file included from src/SettingsUI.h:4:0, from src/SettingsUI.cpp:1: lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Header; Args = {int, int, int, int, const char (&)[16]}]':
src/SettingsUI.cpp:10:55: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' return static_cast<T>(_elements.emplace_back(std::make_unique(_tft, std::forward(args)...)).get()); ^ lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Label; Args = {int, int, int, int, const char (&)[12]}]': src/SettingsUI.cpp:12:50: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' In file included from src/LocoByNameUI.h:4:0, from src/LocoByNameUI.cpp:1: lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Header; Args = {int, int, int, int, const char (&)[12]}]':
src/LocoByNameUI.cpp:9:51: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' return static_cast<T
>(_elements.emplace_back(std::make_unique(_tft, std::forward(args)...)).get()); ^ lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Button; Args = {int, int, int, int, char (&)[2]}]': src/SettingsUI.cpp:13:105: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Button; Args = {int, short unsigned int&, int, int, const char}]': src/LocoByNameUI.cpp:80:70: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Label; Args = {int, int, int, int, const char (&)[10]}]':
src/SettingsUI.cpp:16:49: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Button; Args = {int, int, int, int, char (&)[12]}]':
src/SettingsUI.cpp:17:106: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T
UI::addElement(Args&& ...) [with T = Label; Args = {int, int, int, int, const char (&)[13]}]': src/SettingsUI.cpp:28:52: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Label; Args = {int, int, int, int, const char (&)[21]}]':
src/SettingsUI.cpp:32:60: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T
UI::addElement(Args&& ...) [with T = Button; Args = {int, int, int, int, char (&)[14]}]':
src/SettingsUI.cpp:38:95: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' In file included from src/MenuUI.h:4:0, from src/MenuUI.cpp:1: lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Header; Args = {int, int, int, int, const char (&)[5]}]':
src/MenuUI.cpp:8:44: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' return static_cast<T
>(_elements.emplace_back(std::make_unique(_tft, std::forward(args)...)).get()); ^ lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Button; Args = {int, int, int, int, const char (&)[11]}]': src/MenuUI.cpp:10:47: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Button; Args = {int, int, int, int, const char (&)[8]}]': src/MenuUI.cpp:13:46: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Button; Args = {int, int, int, int, const char (&)[9]}]':
src/MenuUI.cpp:16:47: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T
UI::addElement(Args&& ...) [with T = Header; Args = {int, int, int, int, const char (&)[12]}]':
src/MenuUI.cpp:25:52: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Button; Args = {int, int, int, int, const char (&)[3]}]':
src/MenuUI.cpp:27:40: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T
UI::addElement(Args&& ...) [with T = Button; Args = {int, int, int, int, const char (&)[4]}]':
src/MenuUI.cpp:30:43: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Header; Args = {int, int, int, int, const char (&)[6]}]':
src/MenuUI.cpp:33:46: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T
UI::addElement(Args&& ...) [with T = Button; Args = {int, int, int, int, const char (&)[7], const char (&)[8], bool, Button::State}]': src/MenuUI.cpp:35:141: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Button; Args = {int, int, int, int, const char (&)[8], const char (&)[9], bool, Button::State}]': src/MenuUI.cpp:42:131: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Button; Args = {int, int, int, int, const char (&)[12], bool, Button::State}]': src/MenuUI.cpp:56:121: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Header; Args = {int, int, int, int, const char (&)[9]}]':
src/MenuUI.cpp:59:49: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T
UI::addElement(Args&& ...) [with T = Button; Args = {int, int, int, int, const char (&)[14]}]':
src/MenuUI.cpp:61:51: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' In file included from src/ProgramUI.h:4:0, from src/ProgramUI.cpp:1: lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Header; Args = {int, int, int, int, const char (&)[13]}]':
src/ProgramUI.cpp:61:52: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' return static_cast<T
>(_elements.emplace_back(std::make_unique(_tft, std::forward(args)...)).get()); ^ cc1plus.exe: some warnings being treated as errors lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Button; Args = {int, int, int, int, const char (&)[14]}]':
src/ProgramUI.cpp:63:53: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' cc1plus.exe: some warnings being treated as errors
[.pio\build\firebeetle2\src\SettingsUI.cpp.o] Error 1 [.pio\build\firebeetle2\src\MenuUI.cpp.o] Error 1 lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Button; Args = {int, int, int, int, const char (&)[11]}]':
src/ProgramUI.cpp:66:51: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Button; Args = {int, int, int, int, const char (&)[10]}]':
src/ProgramUI.cpp:69:50: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T
UI::addElement(Args&& ...) [with T = Button; Args = {int, int, int, int, const char (&)[13]}]':
src/ProgramUI.cpp:72:53: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Button; Args = {int, int, int, int, const char (&)[8]}]':
src/ProgramUI.cpp:88:48: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' cc1plus.exe: some warnings being treated as errors lib/UI/UI.h: In instantiation of 'T
UI::addElement(Args&& ...) [with T = Label; Args = {int, int, int, int, const char (&)[11], bool, int}]': src/ProgramUI.cpp:167:66: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Label; Args = {int, int, int, int, const char&, bool, short unsigned int&}]': src/ProgramUI.cpp:172:56: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Button; Args = {int, int, int, int, const char (&)[3]}]':
src/ProgramUI.cpp:173:43: required from here lib/UI/UI.h:23:114: error: invalid use of 'void'
[.pio\build\firebeetle2\src\LocoByNameUI.cpp.o] Error 1 In file included from lib/UI/UI.h:8:0, from src/WiFiUI.h:4, from src/WiFiUI.cpp:1: lib/UI/Elements/Button.h: In constructor 'Button::Appearance::Appearance(const String&, uint16_t, uint16_t, uint16_t, const String&)':lib/UI/Elements/Button.h:17:18: error: 'Button::Appearance::border' will be initialized after [-Werror=reorder] uint16_t border; ^ lib/UI/Elements/Button.h:14:16: error: 'String Button::Appearance::icon' [-Werror=reorder] String icon; ^ lib/UI/Elements/Button.h:19:9: error: when initialized here [-Werror=reorder] Appearance(const String &label, uint16_t color, uint16_t fill, uint16_t border, const String &icon = "") ^ src/LocoUI.cpp: In member function 'virtual void LocoUI::swipe(UI::Swipe)': src/LocoUI.cpp:229:10: warning: enumeration value 'NONE' not handled in switch [-Wswitch] switch (swipe) { ^ cc1plus.exe: some warnings being treated as errors [.pio\build\firebeetle2\src\ProgramUI.cpp.o] Error 1 In file included from src/LocoUI.h:5:0, from src/LocoUI.cpp:1: lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Header; Args = {int, int, int, int, String&}]': src/LocoUI.cpp:30:42: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' return static_cast<T>(_elements.emplace_back(std::make_unique(_tft, std::forward(args)...)).get()); ^ lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Label; Args = {int, int, int, int, const char (&)[7]}]':
src/LocoUI.cpp:32:44: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Label; Args = {int, int, int, int}]': src/LocoUI.cpp:33:49: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Label; Args = {int, int, int, int, const char (&)[11]}]':
src/LocoUI.cpp:35:50: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Button; Args = {short unsigned int&, short unsigned int&, int, int, Button::Appearance, Button::Appearance, bool&, Button::State}]': src/LocoUI.cpp:132:9: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' In file included from src/WiFiUI.cpp:1:0: src/WiFiUI.h: At global scope: src/WiFiUI.h:33:1: error: expected ';' after class definition } ^ src/ThrottleServer.cpp: In lambda function: src/ThrottleServer.cpp:61:36: error: 'class fs::File' has no member named 'path' list.add(String(listFile.path())); ^ src/ThrottleServer.cpp:74:42: error: 'class fs::File' has no member named 'path' item["file"] = String(listFile.path()); ^ In file included from lib/UI/UI.h:8:0, from src/main.cpp:15: lib/UI/Elements/Button.h: In constructor 'Button::Appearance::Appearance(const String&, uint16_t, uint16_t, uint16_t, const String&)':lib/UI/Elements/Button.h:17:18: error: 'Button::Appearance::border' will be initialized after [-Werror=reorder] uint16_t border; ^ lib/UI/Elements/Button.h:14:16: error: 'String Button::Appearance::icon' [-Werror=reorder] String icon; ^ lib/UI/Elements/Button.h:19:9: error: when initialized here [-Werror=reorder] Appearance(const String &label, uint16_t color, uint16_t fill, uint16_t border, const String &icon = "") ^ cc1plus.exe: some warnings being treated as errors
[.pio\build\firebeetle2\src\LocoUI.cpp.o] Error 1 In file included from src/main.cpp:19:0: src/WiFiUI.h: At global scope: src/WiFiUI.h:33:1: error: expected ';' after class definition } ^ In file included from src/WiFiUI.h:4:0, from src/WiFiUI.cpp:1: lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Header; Args = {int, int, int, int, const char (&)[12]}]':
src/WiFiUI.cpp:18:51: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' return static_cast<T
>(_elements.emplace_back(std::make_unique(_tft, std::forward(args)...)).get()); ^ lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Label; Args = {int, int, int, int, const char (&)[1], bool}]': src/WiFiUI.cpp:20:58: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Header; Args = {int, int, int, int, const char (&)[21]}]':
src/WiFiUI.cpp:25:61: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Label; Args = {int, int, int, int, const char (&)[20], bool}]': src/WiFiUI.cpp:27:69: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Label; Args = {int, int, int, int, const char (&)[19], bool}]': src/WiFiUI.cpp:28:72: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Label; Args = {int, int, int, int, const char (&)[21], bool}]': src/WiFiUI.cpp:29:70: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' lib/UI/UI.h: In instantiation of 'T UI::addElement(Args&& ...) [with T = Label; Args = {int, int, int, int, const char (&)[40], bool}]': src/WiFiUI.cpp:33:85: required from here lib/UI/UI.h:23:114: error: invalid use of 'void' src/main.cpp: In function 'void setup()': src/main.cpp:357:6: error: 'ARDUINO_EVENT_WIFI_STA_CONNECTED' was not declared in this scope }, ARDUINO_EVENT_WIFI_STA_CONNECTED); ^ src/main.cpp:363:6: error: 'ARDUINO_EVENT_WIFI_STA_DISCONNECTED' was not declared in this scope }, ARDUINO_EVENT_WIFI_STA_DISCONNECTED); ^ [.pio\build\firebeetle2\src\ThrottleServer.cpp.o] Error 1 cc1plus.exe: some warnings being treated as errors [.pio\build\firebeetle2\src\WiFiUI.cpp.o] Error 1 cc1plus.exe: some warnings being treated as errors *** [.pio\build\firebeetle2\src\main.cpp.o] Error 1 ==================================================== [FAILED] Took 12.22 seconds ====================================================

alex-code commented 1 year ago

I think this is an espressif32 version issue. Could you try replacing this in platformio.ini

platform = espressif32

with

platform = espressif32@^5.2.0
jregholdsworth commented 1 year ago

Yep..I'll give it a go in a few minutes and let you know. Thanks for your help..I've done a few esp32 / platformio projects..but this is in another league.

Regards JH

On 21 November 2022 21:00:39 Alex @.***> wrote:

I think this is an espressif32 version issue. Could you try replacing this in platformio.ini platform = espressif32 with platform = espressif32@^5.2.0 — Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

jregholdsworth commented 1 year ago

so that worked as far as I can tell..ie it compiled ..but I had this message "Please disable/uninstall mitaki28.vscode-clang" and had to do it before it would compile..I've ordered the hardware so when it arrives i'll be able to confirm that its fixed or other wise.

alex-code commented 1 year ago

Seems like some extensions are conflicting. There's a mention here https://github.com/platformio/platformio-vscode-ide/issues/118 but my install is pretty vanilla and not had any errors like that.

github-actions[bot] commented 1 year ago

This issue is stale because it has been open 60 days with no activity. Remove stale label or comment or this will be closed in 7 days.

github-actions[bot] commented 1 year ago

This issue was closed because it has been stale for 7 days with no activity.