Hallo, ich versuche gerade eine Lib zu linken, nachdem ich festgestellt habe, daß der AVR-GCC alles zusammenlinkt was ihm unter die Threads kommt. Außnahme: Einzelne Objects pro Funktion und alle zusammen in eine Lib. Okay. So weit so gut. Allerdings wird meine Lib test.a angeblich nicht gefunden (AVR-Studio): ld.exe -m avr5 -o Log.elf c:/Programme/WinAVR/bin/../lib/gcc/avr/3.4.5/../../../../avr/lib/avr5/cr tm32.o -LC:\x -LC:/Programme/WinAVR/lib/gcc/avr/3.4.5/avr5 -LC:/Programme/WinAVR/lib/gcc/avr /3.4.5 -LC:/Programme/WinAVR/lib/gcc -Lc:/Programme/WinAVR/bin/../lib/gcc/avr/3.4.5/../../../../avr/lib/avr5 -Lc:/Programme/WinAVR/bin/../lib/gcc/avr/3.4.5/../../../../avr/lib -Map=Log.map Main.o LOG.o LOG_Init.o -lTest -lgcc -lc -lgcc Wie man sieht, ist -LC:\x gesetzt (dachte ich nehme mal ein kurzes Verzeichnis außer dem Hauptverzeichnis ohne Leerzeichen) und -lTest taucht auch auf. In c:\x liegt natürlich auch eine Test.a. Inhalt (avr-nm -s test.a): Test.o: U __do_clear_bss U __do_copy_data 0000003e a _SP_H_ 0000003d a _SP_L_ 0000003f a _SREG_ 00000000 a _tmp_reg_ 00000001 a _zero_reg_ 00000000 T CTest Wieso will er das nicht linken? Grüße, Freakazoid
Problem gelöst. Libs müssen mit 'lib' beginnen. Ich hab da echt 2 Stunden dran gesessen und den Wald vor lauter Bäumen nicht gesehen. Sorry, Freakazoid
Müssen sie nicht. Du hättest auch test.a direkt in die Kommandozeile schreiben können. Wenn du aber mit -lX linken willst, brauchst du eine libX.a.
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.