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.
Da funktioniert wohl eine Übersetzung zwischendurch nicht, so das der Bau der elf am Ende nicht funktioniert. Musst daher alle Warnungen beachten.
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...
Stell doch mal die Compiler Ausgabe auf "Verbose" um. Vielleicht auch noch "Do not delete temporary files".
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?
Elektolurch schrieb: > auf "Verbose" um. > Was macht das? Das zeigt jede Menge zusätzlicher Meldungen an. Auf das Projekt->(Rechtsklick)->Properties dann siehe Bild.
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.
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
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.
Yalu X. schrieb: > Gibt es im Atmel Studio ein "rebuild all"? Mit Rechtsklick auf das Projekt gibt es: Build Rebuild Clean ....
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.