Forum: Compiler & IDEs Lib linken -> Linker findet nichts


von André K. (freakazoid)


Lesenswert?

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

von André K. (freakazoid)


Lesenswert?

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

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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
Noch kein Account? Hier anmelden.