Hi, I really hope someone can help me with this… ive been trying to figure out how to build this project for some time now using PIO but cant seem to get my head around it.
its a repo here https://github.com/husain3/Automatic-Garage-Door-Public.git
iam just not sure where iam going wrong. obviously im new to PIO/VScode and programming in general but i have written, Well… Mainly Modified some projects using arduino with success but vscode is quite overwhelming.
anyway heres some of the error from trying to build. sorry if i havent put the info in the right format and if you want me to change something please let me know?
ive tried to get help with this on other forums but ended up just trying to work it out my self but never get a reply. i know its probably something stupid im missing.
I followed the authors instructions as per config.h and config_gen.py using python3 etc.
Do the .ino files need to be converted to .cpp before building?
I would love the opportunity for someone to share their wisdom and shed some light on this for me…some error messages below: (theres more but its of the same like first defined here etc …??)
c:/users/gamming pc/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32dev\libfb5\libESPAsyncWebServer.a(WebServer.cpp.o): in function `AsyncWebServer::AsyncWebServer(unsigned short)':
E:\vscode\Automatic-Garage-Door-Public\Garage-Base-Station/.pio/libdeps/esp32dev/ESPAsyncWebServer/src/WebServer.cpp:48: multiple definition of `AsyncWebServer::AsyncWebServer(unsigned short)'; .pio\build\esp32dev\lib956\libESPAsyncWebServer-esphome.a(WebServer.cpp.o):E:\vscode\Automatic-Garage-Door-Public\Garage-Base-Station/.pio/libdeps/esp32dev/ESPAsyncWebServer-esphome/src/WebServer.cpp:33: first defined here
c:/users/gamming pc/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32dev\libfb5\libESPAsyncWebServer.a(WebServer.cpp.o): in function `AsyncWebServer::AsyncWebServer(unsigned short)':
E:\vscode\Automatic-Garage-Door-Public\Garage-Base-Station/.pio/libdeps/esp32dev/ESPAsyncWebServer/src/WebServer.cpp:48: multiple definition of `AsyncWebServer::AsyncWebServer(unsigned short)'; .pio\build\esp32dev\lib956\libESPAsyncWebServer-esphome.a(WebServer.cpp.o):E:\vscode\Automatic-Garage-Door-Public\Garage-Base-Station/.pio/libdeps/esp32dev/ESPAsyncWebServer-esphome/src/WebServer.cpp:33: first defined here
c:/users/gamming pc/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32dev\libfb5\libESPAsyncWebServer.a(WebServer.cpp.o): in function `AsyncWebServer::onFileUpload(std::function<void (AsyncWebServerRequest*, String const&, unsigned int, unsigned char*, unsigned int, bool)>)':
E:\vscode\Automatic-Garage-Door-Public\Garage-Base-Station/.pio/libdeps/esp32dev/ESPAsyncWebServer/src/WebServer.cpp:182: multiple definition of `AsyncWebServer::onFileUpload(std::function<void (AsyncWebServerRequest*, String const&, unsigned int, unsigned char*, unsigned int, bool)>)'; .pio\build\esp32dev\lib956\libESPAsyncWebServer-esphome.a(WebServer.cpp.o):E:\vscode\Automatic-Garage-Door-Public\Garage-Base-Station/.pio/libdeps/esp32dev/ESPAsyncWebServer-esphome/src/WebServer.cpp:175: first defined here
c:/users/gamming pc/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32dev\libfb5\libESPAsyncWebServer.a(WebServer.cpp.o): in function `AsyncWebServer::onRequestBody(std::function<void (AsyncWebServerRequest*, unsigned char*, unsigned int, unsigned int, unsigned int)>)':
E:\vscode\Automatic-Garage-Door-Public\Garage-Base-Station/.pio/libdeps/esp32dev/ESPAsyncWebServer/src/WebServer.cpp:186: multiple definition of `AsyncWebServer::onRequestBody(std::function<void (AsyncWebServerRequest*, unsigned char*, unsigned int, unsigned int, unsigned int)>)'; .pio\build\esp32dev\lib956\libESPAsyncWebServer-esphome.a(WebServer.cpp.o):E:\vscode\Automatic-Garage-Door-Public\Garage-Base-Station/.pio/libdeps/esp32dev/ESPAsyncWebServer-esphome/src/WebServer.cpp:179: first defined here
c:/users/gamming pc/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32dev\libfb5\libESPAsyncWebServer.a(WebServer.cpp.o): in function `AsyncWebServer::onNotFound(std::function<void (AsyncWebServerRequest*)>)':
E:\vscode\Automatic-Garage-Door-Public\Garage-Base-Station/.pio/libdeps/esp32dev/ESPAsyncWebServer/src/WebServer.cpp:178: multiple definition of `AsyncWebServer::onNotFound(std::function<void (AsyncWebServerRequest*)>)'; .pio\build\esp32dev\lib956\libESPAsyncWebServer-esphome.a(WebServer.cpp.o):E:\vscode\Automatic-Garage-Door-Public\Garage-Base-Station/.pio/libdeps/esp32dev/ESPAsyncWebServer-esphome/src/WebServer.cpp:171: first defined here
c:/users/gamming pc/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32dev\libfb5\libESPAsyncWebServer.a(WebServer.cpp.o): in function `AsyncWebServer::reset()':
E:\vscode\Automatic-Garage-Door-Public\Garage-Base-Station/.pio/libdeps/esp32dev/ESPAsyncWebServer/src/WebServer.cpp:190: multiple definition of `AsyncWebServer::reset()'; .pio\build\esp32dev\lib956\libESPAsyncWebServer-esphome.a(WebServer.cpp.o):E:\vscode\Automatic-Garage-Door-Public\Garage-Base-Station/.pio/libdeps/esp32dev/ESPAsyncWebServer-esphome/src/WebServer.cpp:183: first defined here
c:/users/gamming pc/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32dev\libfb5\libESPAsyncWebServer.a(WebServer.cpp.o): in function `AsyncWebServer::~AsyncWebServer()':
E:\vscode\Automatic-Garage-Door-Public\Garage-Base-Station/.pio/libdeps/esp32dev/ESPAsyncWebServer/src/WebServer.cpp:67: multiple definition of `AsyncWebServer::~AsyncWebServer()'; .pio\build\esp32dev\lib956\libESPAsyncWebServer-esphome.a(WebServer.cpp.o):E:\vscode\Automatic-Garage-Door-Public\Garage-Base-Station/.pio/libdeps/esp32dev/ESPAsyncWebServer-esphome/src/WebServer.cpp:54: first defined here
c:/users/gamming pc/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32dev\libfb5\libESPAsyncWebServer.a(WebServer.cpp.o): in function `AsyncWebServer::~AsyncWebServer()':
E:\vscode\Automatic-Garage-Door-Public\Garage-Base-Station/.pio/libdeps/esp32dev/ESPAsyncWebServer/src/WebServer.cpp:67: multiple definition of `AsyncWebServer::~AsyncWebServer()'; .pio\build\esp32dev\lib956\libESPAsyncWebServer-esphome.a(WebServer.cpp.o):E:\vscode\Automatic-Garage-Door-Public\Garage-Base-Station/.pio/libdeps/esp32dev/ESPAsyncWebServer-esphome/src/WebServer.cpp:54: first defined here
c:/users/gamming pc/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32dev\libfb5\libESPAsyncWebServer.a(WebServer.cpp.o): in function `AsyncWebServer::on(char const*, unsigned char, std::function<void (AsyncWebServerRequest*)>, std::function<void (AsyncWebServerRequest*, String const&, unsigned int, unsigned char*, unsigned int, bool)>, std::function<void (AsyncWebServerRequest*, unsigned char*, unsigned int, unsigned int, unsigned int)>)':
E:\vscode\Automatic-Garage-Door-Public\Garage-Base-Station/.pio/libdeps/esp32dev/ESPAsyncWebServer/src/WebServer.cpp:161: multiple definition of `AsyncWebServer::on(char const*, unsigned char, std::function<void
(AsyncWebServerRequest*)>, std::function<void (AsyncWebServerRequest*, String const&, unsigned int, unsigned char*, unsigned int, bool)>, std::function<void (AsyncWebServerRequest*, unsigned char*, unsigned int,
unsigned int, unsigned int)>)'; .pio\build\esp32dev\lib956\libESPAsyncWebServer-esphome.a(WebServer.cpp.o):E:\vscode\Automatic-Garage-Door-Public\Garage-Base-Station/.pio/libdeps/esp32dev/ESPAsyncWebServer-esphome/src/WebServer.cpp:127: first defined here
c:/users/gamming pc/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32dev\libfb5\libESPAsyncWebServer.a(WebAuthentication.cpp.o): in function `checkBasicAuthentication(char const*, char const*, char const*)':
E:\vscode\Automatic-Garage-Door-Public\Garage-Base-Station/.pio/libdeps/esp32dev/ESPAsyncWebServer/src/WebAuthentication.cpp:34: multiple definition of `checkBasicAuthentication(char const*, char const*, char const*)'; .pio\build\esp32dev\lib956\libESPAsyncWebServer-esphome.a(WebAuthentication.cpp.o):E:\vscode\Automatic-Garage-Door-Public\Garage-Base-Station/.pio/libdeps/esp32dev/ESPAsyncWebServer-esphome/src/WebAuthentication.cpp:32: first defined here
c:/users/gamming pc/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32dev\libfb5\libESPAsyncWebServer.a(WebAuthentication.cpp.o): in function `generateDigestHash(char const*, char const*, char const*)':
E:\vscode\Automatic-Garage-Door-Public\Garage-Base-Station/.pio/libdeps/esp32dev/ESPAsyncWebServer/src/WebAuthentication.cpp:118: multiple definition of `generateDigestHash(char const*, char const*, char const*)'; .pio\build\esp32dev\lib956\libESPAsyncWebServer-esphome.a(WebAuthentication.cpp.o):E:\vscode\Automatic-Garage-Door-Public\Garage-Base-Station/.pio/libdeps/esp32dev/ESPAsyncWebServer-esphome/src/WebAuthentication.cpp:112: first defined here
c:/users/gamming pc/.platformio/packages/toolchain-xtensa-esp32/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: .pio\build\esp32dev\libfb5\libESPAsyncWebServer.a(WebAuthentication.cpp.o): in function `checkDigestAuthentication(char const*, char const*, char const*, char const*, char const*, bool, char const*, char const*, char const*)':
E:\vscode\Automatic-Garage-Door-Public\Garage-Base-Station/.pio/libdeps/esp32dev/ESPAsyncWebServer/src/WebAuthentication.cpp:145: multiple definition of `checkDigestAuthentication(char const*, char const*, char const*, char const*, char const*, bool, char const*, char const*, char const*)'; .pio\build\esp32dev\lib956\libESPAsyncWebServer-esphome.a(WebAuthentication.cpp.o):E:\vscode\Automatic-Garage-Door-Public\Garage-Base-Station/.pio/libdeps/esp32dev/ESPAsyncWebServer-esphome/src/WebAuthentication.cpp:144: first defined here
collect2.exe: error: ld returned 1 exit status
*** [.pio\build\esp32dev\firmware.elf] Error 1
=========================================================================================== [FAILED] Took 29.77 seconds =====