Forum: Mikrocontroller und Digitale Elektronik Atmel Studio7/GCC compilierung mit komischem Fehler


von Elektolurch (Gast)


Lesenswert?

Hallo,

mein C-Programm ist schon gewachsen, in viele Teildateien aufgeteilt, 
oft übersetzt und debugged.
Jetzt habe ich etwas geringfügig in ein paar Dateien geändert
und es wird jetzt nur mit den nichtssagenden Fehlermeldungen
"ld returned exit status
receipe for target DSI_V0.01.elf failed" compiliert
Wie kann man so einen Fehler irgendwie eingrenzen?
Wo kann ich nachschauen?
Im Makefile sehe ich auch keinen Hinweis...
Das gesamte Projekt ist zu umfangreich, dass das Sinn machen würde zu 
posten.

von pegel (Gast)


Lesenswert?

Da funktioniert wohl eine Übersetzung zwischendurch nicht, so das der 
Bau der elf am Ende nicht funktioniert.

Musst daher alle Warnungen beachten.

von Elektolurch (Gast)


Lesenswert?

Hallo,

das komische ist, dass keine Warnungen mehr angezeigt werden.
Vorher hatte ich einige harmlose "Variable set, but not used"...

>> Da funktioniert wohl eine Übersetzung zwischendurch nicht
Ja, nur welche und warum?
Da müsste doch in irgend einer Datei ein Hinweis/Fehlermeldung sein.
Auch würde ich die fehlerentstehung eher im Linker vermuten.
Immerhin habe ich im Debug-Ordner die Dateien gefunden, die nach der 
letzten
.elf-Erstellung noch übersetzt wurden, wohl wegen Änderungen.
Und da müsste der Fehler dabei sein.
Aber das sind 12 Dateien und kein Hinweis...

von pegel (Gast)


Lesenswert?

Stell doch mal die Compiler Ausgabe auf "Verbose" um.
Vielleicht auch noch "Do not delete temporary files".

von Elektolurch (Gast)


Lesenswert?

Hallo Pegel,

danke für deine Mithilfe.
>> Stell doch mal die Compiler Ausgabe auf "Verbose" um.
Was macht das?

>> Vielleicht auch noch "Do not delete temporary files"
Wo stellt man das ein?

Zwischenzeitlich habe ich im Output-Fenster genauer geschaut und einen 
Hinweis auf eine truncated .o datei gefunden.
Ich habe dann mal die includes in dieser Header-Datei auskommentiert, 
compliliert, includes wieder aktiviert und nochmal compliliert:
Jetzt wird das Projekt wieder fehlerfrei übersetzt!
Aber auch ohne meine bisherigen Warnungen(???).
Was war/ist das?

von pegel (Gast)


Angehängte Dateien:

Lesenswert?

Elektolurch schrieb:
> auf "Verbose" um.
> Was macht das?

Das zeigt jede Menge zusätzlicher Meldungen an.

Auf das Projekt->(Rechtsklick)->Properties

dann siehe Bild.

von pegel (Gast)


Lesenswert?

Elektolurch schrieb:
> Was war/ist das?

Kann mir nur vorstellen, dass dem Compiler/Linker die Reihenfolge der 
Dateien nicht gepasst hat.
Jetzt hat er sie hinten angehängt und ist zufrieden.

von Oliver S. (oliverso)


Lesenswert?

Elektolurch schrieb:
> Zwischenzeitlich habe ich im Output-Fenster genauer geschaut und einen
> Hinweis auf eine truncated .o datei gefunden.
> Ich habe dann mal die includes in dieser Header-Datei auskommentiert,
> compliliert, includes wieder aktiviert und nochmal compliliert:
> Jetzt wird das Projekt wieder fehlerfrei übersetzt!
> Aber auch ohne meine bisherigen Warnungen(???).
> Was war/ist das?

Wenn z.B. ein Compile-Vorgang mal abgebrochen wurde, kommt es schon mal 
zu defekten .o-Dateien.

Aber egal, es geht ja wieder.

Oliver

von Yalu X. (yalu) (Moderator)


Lesenswert?

Elektolurch schrieb:
> Zwischenzeitlich habe ich im Output-Fenster genauer geschaut und einen
> Hinweis auf eine truncated .o datei gefunden.

Festplatte kurz vor voll?

Rechner oder Compiler während des Kompilierens gecrasht?

Wie auch immer: Neues Erstellen der fehlerhaften Datei sollte das
Problem beheben (und hat es bei dir ja schließlich auch).

> Aber auch ohne meine bisherigen Warnungen(???).

Die Warnungen werden nur angezeigt, wenn die entsprechende Quelldatei
auch kompiliert wird. Das wird sie nicht, wenn das letzte Kompilieren
der Datei (bis auf die Warnungen) erfolgreich war.

Im Zweifelsfall würde ich einfach alles neu bauen. Gibt es im Atmel
Studio ein "rebuild all"? Wenn nicht, dann mach ein "make clean" in der
Kommandozeile. Wenn auch das nicht geht, lösche alle .o-Dateien manuell.

von pegel (Gast)


Lesenswert?

Yalu X. schrieb:
> Gibt es im Atmel Studio ein "rebuild all"?

Mit Rechtsklick auf das Projekt gibt es:

Build
Rebuild
Clean
....

von Elektolurch (Gast)


Lesenswert?

Danke @Alle für eure ganzen Hinweise!

Ah, eventuell war es ein Compiler-Abbruch, kann mich dumpf daran 
erinnern.
Jedenfalls wenn sowas nochmal passiert, weis ich jetzt einiges, was ich 
tun kann.
Früher mal hatte ich mühsam das ganze Projekt neu zusammen gebaut...
Vieleicht helfen die Tipps ja jemand - noch irgend wann später.

von Yalu X. (yalu) (Moderator)


Lesenswert?

pegel schrieb:
> Yalu X. schrieb:
>> Gibt es im Atmel Studio ein "rebuild all"?
>
> Mit Rechtsklick auf das Projekt gibt es:
>
> Build
> Rebuild
> Clean

Perfekt. Dann würde ich bei unerklärlichen Problemen erst einmal ein
Rebuild versuchen. Im konkreten Fall hätte dies wahrscheinlich das
Problem ohne weiteres Zutun beseitigt.

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.