Atmel Studio7/GCC compilierung mit komischem Fehler

Gast #6359461
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.
Gast #6359473
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...
Gast #6359520
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?
#6359581
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
Moderator #6359590
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.
Gast #6359825
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.
Moderator #6360094
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren