Forum: Compiler & IDEs Fehlermeldung gcc-plugin:error ...


von Slowflyer (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

ich habe meinen Sourcecode in verschiedene Files *.c und *.h
aufgeteilt. Die Header-dateien werden entsprechend in der main.h
eingebunden. Soweit funktioniert es auch einwandfrei. Versuche ich
jedoch in irgendeiner der anderen (nicht main.h) Header-Dateien
Variablen anzulegen, kommt folgende Fehlermeldung:

gcc plug-in: Error: Object file not found on expected location
Y:\Projekte\g800016_Dispenser\uC_Software\80016_Dispenser_v_0_1_0\defaul 
t\80016_Dispenser.elf

Als Beispiel habe ich ein Projekt in den Anhang gepackt. Der
Fehlerteufel steckt in dem Fall in der adc.h in der Zeile "uint8_t
test = 0;". Kommentiert man diese raus, so funktioniert es wieder.

Mache ich irgendwo einen Denkfehler?

Ich verwende Avr-Studio 4.12 Build 460, Avr-gcc 3.4.4 und Avr-libc
1.2.5

von Rolf Magnus (Gast)


Lesenswert?

Du definierst Variablen in Headern, wo sie (wie Funktionen auch) nur
deklariert sein sollten.
Im Header sollte stehen:

extern uint8_t test;

und in der .c-Datei dann das:

uint8_t test = 0;

Ich bin mir nicht ganz sicher, ob das der Fehler ist, den dein Compiler
meldet, weil dieser etwas komisch aussieht.

von Slowflyer (Gast)


Lesenswert?

Danke für den Tip.

Wahrscheinlich sollte ich das wirklich so machen. Nur habe ich
festgestellt, dass wenn ich die Variable gleich initialisiere und nicht
erst später, dann weniger Programmspeicher verbrate.

Gruß Slowflyer

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Wenn die Variable in der Headerdatei deklariert und in einem C-Modul
definiert und initialisiert wird, dann ist das vom erzeugten Code her
exakt dasselbe wie die (falsche) Definition und Initialisierung in
einer von nur einem Modul eingebundenen Headerdatei.

Wenn sich das bei Dir anders verhält, ist noch irgendwas anderes nicht
in Ordnung.

von Slowflyer (Gast)


Lesenswert?

Hmm...

Klingt eigentlich logisch, ich werd mal bei Gelegenheit da mal genauer
nachforschen.

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.