Ich habe mir eine Sicherungskopie im selben Ordner erstell und da hat natürlich die IDE beide Dateien kompiliert. Na klar dass da der Fehler kommt das der WebServer schon mal vorhanden ist.
Gratuliere!
Ist doch gut wenn Du den Fehler selbst gefunden hast. Den Fehler machst Du sicher kein 2. Mal.
Wenn Du es jetzt noch ganz gut machen willst, dann markiere den Thread als gelöst.
Aus "Wie man das Forum benutzt":
"Es ist auch hilfreich, wenn Sie auf die Schaltfläche Solution am Ende der Antwort klicken, die Ihre Frage beantwortet. So können die Helfer sehen, dass die Frage gelöst ist, und andere, die die gleiche Frage haben, können die Antwort schnell finden."
Die Meldungen sagen dir genau die beiden Orte wo die Deklarationen stehen.
Diese Orte auszublenden, zu ignorieren, nicht zu beachten, nicht zu zeigen, ist schon ein starkes Stück.
Hallo,
ich hatte da auch schon mal Probleme. Im Hintergrund hatte ich ein Backup Programm laufen das in regelmäßigen Zeitabständen Verzeichnisse auf dem PC mit der NAS gesichert ( synchronisiert) hat. Bei den Dateien die gerade mit der IDE bearbeitet wurden gabs dann automatisch erstellte Kopien im gleichen Verzeichniss mit einem Datumszusatz.
Heinz
@combie nun ich weis nicht wo das genau die beiden Orte anzeigt. Ich hatte diese Meldung nur be dem offenen Sketch. Na ja und bitte was soll das mit "ein starkes Stück" ?????
wie sagte Jesus schon "wer ohne Sünde ist der werfe den ersten Stein" leider ist es so dass man vor lauter Bäumen den Wald nicht mehr sieht und dann einfach ein Typ von jemand aussenstehenden einen meistens weiterbringt und sei er noch so trivial. Ich denke für so etwas ist doch ein Forum auch da um eben von jemanden aussenstehenden auf die richtige Spur gebracht zu werden.
Ich auch nicht, denn die Meldung wurde verstümmelt!
Beispiel:
int a = 4711;
int a = 42;
void setup()
{
}
void loop()
{
}
Meldungen:
sketch_oct15c:3:5: error: redefinition of 'int a'
3 | int a = 42;
| ^
E:\Programme\arduino\portable\sketchbook\sketch_oct15c\sketch_oct15c.ino:2:5: note: 'int a' previously defined here
2 | int a = 4711;
| ^
exit status 1
redefinition of 'int a'
Also, ich sehe da ganz klar, wo der Fehler ist, und die Doppelten stecken.
Incl. der beiden Dateinamen und den Zeilen.
Das funktioniert auch, wenn die Redefinition in einer anderen *.ino ist
Und da war keine kaputte Zeile zwischen setup() und loop() es hatte alles gepasst. Wie gesagt es hat daran gelegen dass ich mir eine Sicherheitskopie gemacht habe und diese im selben Ordner belassen habe und ich nicht bedacht habe dass die IDE sich alles aus dem Ordner schnappt. Ist ja logisch wenn 2x das selbe da ist, dass er gleich das erste doppelte anmotzt. Drauf gekommen bin ich als ich die angemeckerte Zeile, eben das mit dem Server, aus kommentiert habe da hat er gleich die nächste Zeile angemeckert usw. erst als ich die Kopien im Ordner gelöscht hatte ging es wieder einwandfrei.
Der Rest von Sketch ist eine kleine Wetterstation die einmal auf ThingSpeak, 1x auf einen SQL Server, 1X per MQTT und eben 1x bei http die Daten ausgibt. Ich dachte mir warum soll ich noch mehr reinstellen wenn er eh schon ganz am Anfang hängt. Da kann es ja wohl nicht am restlichen Code liegen.
Und ich behaupte, das die vollständige Fehlermeldung genau darauf aufmerksam gemacht hätte.
Es ist wurscht, wo sich die Zeile befindet.
Hättest Du die originale gelöscht, wäre auch nichts passiert.
Nur das dann irgendwas in der Art:
[...] error: redefinition of 'void setup()'
gestanden hätte und jeder hätte sofort gewusst, das da etwas doppelt ist.
Doch. Weil das genauso vom Compiler ausge-/verwertet wird.
so so und warum ist es gegangen als ich die 2te Datei gelöscht habe und am Sketch selber nichts geändert habe???
Ich habe es noch ein paar mal ausgetestet. Jedesmal wenn ich eine Kopie von dem Sketch im Ordner habe kommt genau diese Fehlermeldung und sobald ich die Kopie wieder lösche geht es einwandfrei durch. Da kann nichts kaputtes dazwischen sein.
und die von dir beschrieben Meldung kommt garnicht
DOCH!
Was hast Du denn nicht verstanden?
Die Arduino-Ide übergibt an den Compiler den Inhalt des Verzeichnisses!
Du hast zwei identische Inhalte.
Mache folgendes:
Baue einen Sketch so wie Du den jetzt hast und er funktioniert.
Speichern.
Dann im Ordner eine Kopie davon anlegen.
In der Kopie alles vor setup() löschen.
Kompiliere Deinen Sketch in der IDE.