Linker findet Datei nicht

Gast #4200829
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?
Angehängte Dateien:
#4201514
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".
Gast #4201991
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren