Hallo, wie kann man dem WinAVR-2008-04-02 beibringen, wo "assembler messages" abgelegt werden sollen? Derzeit landen solche Meldungen in irgendeiner Schmutzecke des Windowsrechners (C:/Dokumente und Einstellungen/nnB386~1~/Lokale~1../Temp usw. usf. unter irgendeiner Nummer, die es dann gar nicht gibt. Kann man make.exe entsprechend beeinflussen? Ich habe übrigens make.exe in das lokale Verzeichnis kopiert, damit es nicht mit den make.exe aus den älteren WinAVR-Versionen kollidiert, die sich noch auf dem Rechner befinden (in der Hoffnung, daß ich vielleicht doch noch die alten Programme ändern und wieder kompilieren kann). Viele Grüße Peter
Peter Leistikow wrote: > wie kann man dem WinAVR-2008-04-02 beibringen, wo "assembler messages" > abgelegt werden sollen? Die werden gar nicht abgelegt, sondern landen auf stderr. Dort zeigt sie dir dann normalerweise deine IDE an. > Derzeit landen solche Meldungen in irgendeiner Schmutzecke des > Windowsrechners > (C:/Dokumente und Einstellungen/nnB386~1~/Lokale~1../Temp usw. usf. > unter irgendeiner Nummer, die es dann gar nicht gibt. Das ist der Name einer temporären Datei. Die heißt temporär, weil sie nachher wieder gelöscht wird... Es gibt zwei Wege, wie man diese Dateien erhalten kann. Erstens kannst du die Compileroption -c durch ein -S ersetzen, dann hört der Compiler mit der Arbeit auf, nachdem er die Assemblerdatei generiert hat. (Normalerweise legt er diese eben nur als temporäre Datei ab, und startet danach sofort den Assembler.) Du solltest ansonsten die gleichen Optionen benutzen, außer dass du natürlich die Option »-o dateiname « anpassen musst oder sie ganz weglassen, dann wird eine Datei mit dem Suffix .s angelegt. Bei gleichen Optionen kannst du dann an Hand der Zeilennummer, die du ja schon aus deinen Assemblermeldungen kennst, rausfinden, was das Problem war. Die zweite Variante ist, dass du in die Optionen für den C-Compiler die Option »-save-temps« mit aufnimmst. Dann verzichtet der Compiler darauf, alle temporären Dateien, die während des Compilierens entstehen, irgendwie zu löschen. Sie bleiben stehen, und du musst sie dann irgendwann mit der Hand löschen. Falls deine assembler message ein "Operation dangerous with linker stubs" ist, dann kannst du darauf verzichten, dir das anzugucken. Diese Meldung sollte eigentlich besser gar nicht existieren, da sie nur mehr verwirrt als wirklich hilft, sie ist aus Versehen wieder in den Code des Assemblers reingeschlittert. Da gibt's schon einen Bugreport bei den GNU Binutils, der zum Entfernen der Meldung führen soll.
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.