Forum: Mikrocontroller und Digitale Elektronik Linker error


von Klemmen (Gast)


Lesenswert?

Hallo,

ich habe einen Linker Error und kann dessen Ursache nicht finden.

Ich nutze CodeBlocks avr-gcc -Os -Wall -mmcu=atmega64m1 
-DF_CPU=16000000UL

Zuletzt vor zwei Wochen dachte ich, ich hätte das Projekt noch 
erfolgreich gebaut bekommen. Heute funktioniert es aber nicht mehr.

Im Grunde sagt er mir, dass jede Variable mehrmals definiert ist.
avr-gcc -Os -Wall -mmcu=atmega64m1 -DF_CPU=16000000UL

/usr/bin/avr-ld: obj/Release/ABC.o:(.bss+0x29): multiple definition of 
`rx_data'; obj/Release/XYZ.o:(.bss+0x11): first defined here

Diesen Fehler für diverse Variablen.

Nun dachte ich erst, ich habe eine c Datei includiert. Danach gesucht 
und keine c Datei gefunden.

Dann hab ich geprüft, ob alle extern Variablen in .h Datei steht. Das 
passt auch. Nun weiß ich nicht mehr weiter.

Woran könnte es noch liegen? In welche Richtung könnt ich noch suchen?
Freue mich über Hinweise und Tipps.

von Klemmen (Gast)


Lesenswert?

Ok, Fehler scheinbar gefunden.

Habe von avr-gcc (10.1.0-1 => 9.3.0-1) gedowngraded. Nun läuft es 
wieder.

Kann jemand was dazu sagen? Woran es liegt/lag?

von Rolf M. (rmagnus)


Lesenswert?

Klemmen schrieb:
> Woran könnte es noch liegen? In welche Richtung könnt ich noch suchen?
> Freue mich über Hinweise und Tipps.

Du könntest Debugging-Infos einschalten, um zu sehen, in welchen Zeilen 
von welchen Dateien die Definitionen zu finden sind.

Klemmen schrieb:
> Kann jemand was dazu sagen? Woran es liegt/lag?

An irgendwas in deinem Code, den außer dir keiner kennt.

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.