Wie man Arduino / PlatformIO undefined reference to `loop()' behebt
Problem:
Beim Versuch, Ihr Arduino- oder PlatformIO-Projekt zu kompilieren, sehen Sie eine Fehlermeldung wie
linker_error_ld.txt
/home/uli/.platformio/packages/[email protected]+2021r2-patch5/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld: .pio/build/esp32dev/libFrameworkArduino.a(main.cpp.o):(.literal._Z8loopTaskPv+0x8): undefined reference to `loop()'Lösung
Sie haben keine loop()-Funktion in Ihrem Quellcode deklariert. Öffnen Sie main.cpp oder Ihre .ino-Quellcode-Datei und beginnen Sie mit der folgenden (leeren) loop()-Funktion, die nichts tut:
empty_loop_example.cpp
void loop() {
// Nothing to do here since HTTPServer
// is running in a separate thread
delay(1000);
}Nachdem Sie eine beliebige void loop() { /* ... */}-Funktion zu Ihrem Quellcode hinzugefügt haben, versuchen Sie erneut zu bauen/hochzuladen und die Fehlermeldung sollte verschwunden sein.
Wenn Sie möchten, können Sie auch Code hinzufügen, um bei jedem Schleifendurchlauf eine Nachricht an den seriellen Port zu senden:
loop_with_serial_example.cpp
void loop() {
// Nothing to do here since HTTPServer
// is running in a separate thread
Serial.println("Hello world!");
delay(1000);
}Check out similar posts by category:
Arduino, C/C++, PlatformIO
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow