libm.a wird nicht gefunden

Gast #4140564
Lesenswert?

Ich möchte für einen STM32F4 libm.a für #include <math.h> dazu linken.

Ich habe den Pfad per C&P in Eclipse unter:
Settings -> Cross ARM C++ LINKER -> Libraries -> Reiter 'Library search 
path'
absolut angegeben und unter dem Reiter 'Libraries' libm.a eingetragen.

/home/timertick_t/ARMtoolchains/gcc-arm-none-eabi-4_9-2015q1/bin/../lib/ 
gcc/arm-none-eabi/4.9.3/../../../../arm-none-eabi/bin/ld:  cannot find 
-llibm.a
collect2: error: ld returned 1 exit status
make: *** [test_c++.elf] Error 1

Warum kommt der Fehler?
Gast #4140584
Lesenswert?

In deinem Eclipse solltest du dann nicht "libm.a" eintragen, sondern nur 
"m". Daraus wird als Argument für den Compiler dann "-lm", und dieser 
macht sich dann von alleine auf die Suche nach libm.a.

Mit "-llibm.a" sucht er dagegen nach liblibm.a.a und findet das nicht.
Gast #4140635
Lesenswert?

Ob er dann auch die rychtyge libm.a findet? In der Toolchain liegen 
mehrere.

So.
Hab den search path mal so stehen gelassen und unter dem Reiter 
'Libraries' nur 'm' eingetragen. Das hat funktioniert.

Die entsprechende Info im Ausgabefenster:
// Linker bla bla
./src/_initialize_hardware.o ./src/_write.o ./src/main.o   -lm


Der Code ist im Vergleich zu vorher aber nicht größer geworden. Wird 
wohl daran liegen, daß ich die Funktion in der ich die lib für 
entsprechende sin und cos Funktionen benötige in meinem Qelltext noch 
nicht aufgerufen habe, oder?

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