Forum: Compiler & IDEs Linker findet Datei nicht


von timertick_t (Gast)


Angehängte Dateien:

Lesenswert?

Ich möchte eine vorkompilierte Datei aus STEmwin in mein Projekt 
einbinden, bekomme aber:
1
c:/armtoolchains/arm-none-eabi-gcc/bin/../lib/gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld.exe:
2
cannot find -lSTemWin526_CM4_GCC.a
3
collect2.exe: error: ld returned 1 exit status
4
make: *** [test_2.elf] Error 1
Anbei ein Bild. Was mache ich falsch?

von holger (Gast)


Lesenswert?

>cannot find -lSTemWin526_CM4_GCC.a

Benenne die Datei mal um in

libSTemWin526_CM4_GCC.a

und dann bei -l nur

STemWin526_CM4_GCC

angeben.

von timertick_t (Gast)


Lesenswert?

Volltreffer!
Woher hast'n das gewußt?

von Oliver S. (oliverso)


Lesenswert?

Sowas weiß man einfach...

Oliver

von Karl H. (kbuchegg)


Lesenswert?

:-)

Das ist normal auf Unix Systemen (und hier kann das gcc-System seine 
Herkunft nicht verleugnen)
Irgendjemand dachte mal, dass es eine gute Idee wäre, dass Libraries 
immer mit dem Prefix 'lib' anfangen sollen. Und weil das immer so sein 
soll, lässt man diesen Prefix in der Command Line beim Linker Aufruf 
weg. Teilt man also dem Linker mit, dass der die Mathe-Library namens 
libm.a mit dazulinken soll, dann gibt man zb. bei gcc in der Command 
Line ein -lm an. Das '-l' ist die Angabe, dass jetzt der Name eine 
Library folgt und das 'm' ist das was übrig bleibt, wenn man von "libm" 
das 'lib' weglässt. Gibt man hingegen ein -lIrgendwas an, dann sucht der 
Linker nach einer Datei "libIrgendwas.a".

: Bearbeitet durch User
von timertick_t (Gast)


Lesenswert?

Hätte man sicherlich auch im Handbuch nachschlagen können.  Aber wenn 
man so einer Anomalie halt das erste mal direkt ausgesetzt ist... ich 
wär' da nie drauf gekommen.
Diese libm.a-Geschichte hatte ich noch dunkel im Hinterkopf, aber hab' 
auch da nie verstanden warum das so zerfleddert-kryptisch angegeben 
wird... so ist's halt, wenn man sich's leicht macht und gedankenlos die 
Zeilen anderer übernimmt... ,-)

Danke für die Info.

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.