INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Conflict declaration
17.10.2018, 11:22
Beitrag #1
Conflict declaration
Hallo zusammen,
ich bin gerade dabei, ein Programm zu kompilieren. Es wollte einen ESP8266 flashen und habe mir dazu ein fertiges Programm heruntergeladen (von hier). Der Umfang übersteigt meine Programmierkenntnisse bei weitem ...
Nach dem Herunterladen wollte ich den Code kompilieren, nur um zu sehen, ob der Sketch laufen würde, bevor ich Modifizerungen vornehmen wollte.
Ich bekomme folgende Fehlermeldung, die ich absolut nicht deuten kann:

Arduino: 1.8.7 (Windows 10), Board: "Generic ESP8266 Module, 80 MHz, Flash, ck, 26 MHz, 40MHz, DIO, 512K (64K SPIFFS), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200"
xplg_ws2812:88:18: error: conflicting declaration 'uint8_t kRepeat [5]'
uint8_t kRepeat[5] = {
^
In file included from C:\Users\Jenny und Bernd\Desktop\arduino-sonoff\Sonoff-Tasmota-master\sonoff\xdrv_05_irremote.ino:74:0:

C:\Users\Jenny und Bernd\Documents\Arduino\libraries\IRremoteESP8266\src/IRrecv.h:26:16: error: 'kRepeat' has a previous declaration as 'const uint64_t kRepeat'
const uint64_t kRepeat = UINT64_MAX;

^
C:\Users\Jenny und Bernd\Desktop\arduino-sonoff\Sonoff-Tasmota-master\sonoff\xplg_ws2812.ino: In function 'void Ws2812Gradient(uint8_t)':
xplg_ws2812:225:48: error: invalid types 'const uint64_t {aka const long long unsigned int}[uint8_t {aka unsigned char}]' for array subscript
uint8_t repeat = kRepeat[Settings.light_width]; // number of scheme.count per ledcount
^
xplg_ws2812:235:37: error: invalid types 'const uint64_t {aka const long long unsigned int}[uint8_t {aka unsigned char}]' for array subscript

if (kRepeat[Settings.light_width] > 1) {

^
exit status 1
conflicting declaration 'uint8_t kRepeat [5]'

Ich habe mir nun völlig entnervt ein bereits geflashtes Modul bestellt weil ich die Häme meiner Frau nicht mehr ertragen kann (ich sag einfach, ich habs hingekriegt Big Grin) , möchte aber trotzdem gerne wissen was ich machen müsste, um das Problem zu beheben. Dem Kompiler scheint eine bisherige Deklaration nicht zu gefallen, das ist seltsam, weil ich keinen Zustand im Code geändert habe.
Ich hoffe, das ist einigermaßen lesbar, ich habe der Übersicht halber einige Leerzeilen entfernt. Was bedeuten eigentlich diese kleinen Pfeilchen nach oben? Sind das Hinweise auf evtl. Fehler?
Danke für jeden noch so kleinen Hinweis, die Thematik geht etwas über das blinken lassen einer LED hinaus und meine bisherigen Projekte waren alle programmiertechnisch alle relativ einfach gehalten ...
Grüße,
Bernd
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.10.2018, 13:46
Beitrag #2
RE: Conflict declaration
Die kleinen Pfeilchen kennzeichnen den Beginn des Fehlers.

Bei Dir ist die Variable kRepeat 2 mal definiert.

1 mal als uint8_t kRepeat[5] in
C:\Users\Jenny und Bernd\Desktop\arduino-sonoff\Sonoff-Tasmota-master\sonoff\xdrv_05_irremote.ino Zeile 74

und 1 mal als const uint64_t kRepeat = UINT64_MAX; in
C:\Users\Jenny und Bernd\Documents\Arduino\libraries\IRremoteESP8266\src/IRrecv.h Zeile 26

Mir kommen Deine Libpfade etwas seltsam vor.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.10.2018, 14:05
Beitrag #3
RE: Conflict declaration
Hallo,

ich hasse solche eierlegende Wollmilchsau-Software...
Der Kram bringt die IRremoteESP8266-2.2.1.02 mit. Wenn schon eine neuere im Lib-Ordner existiert, wird die genommen und er fliegt auf die Schnauze.
Entweder das Zeug in eine eigene portable-IDE werfen (für mich der sinnvollste Weg) oder eben die neuere Lib-Version aus /sketchbook/libraries/ löschen.

Gruß aus Berlin
Michael
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.10.2018, 14:40
Beitrag #4
RE: Conflict declaration
Danke euch,
das muss ich erstmal verdauen :-)
Das heißt für mich, eine der beiden ist zuviel und muss entfernt werden?

Tommy, du meinst, weil die Speicherorte nicht überein stimmen?
Wahrscheinlich irritiert der zweite Pfad, der erste ist nur ein Ordner, den ich auf dem Desktop abgelegt und mein Zeug darin entpackt habe.
Mal in mich gehen, ob ich da was falsch interpretiert habe, die Anleitung ist eigentlich "idiotensicher" und ich kann sie mittlerweile auswendig ...
Naja, wie man sieht vielleicht doch nicht so ganz.

Gruß Bernd
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
17.10.2018, 14:44
Beitrag #5
RE: Conflict declaration
Ja, ich meine den Desktop-Ordner.
Wenn der nur zum Ablegen wäre, würde ihn der Compiler nicht finden. Da musst Du noch was anderes gemacht haben. Das können wir aus der Ferne aber nicht sehen.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste