mikrocontroller.net

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


Autor: Slowflyer (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Slowflyer (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Slowflyer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hmm...

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.