Forum: Compiler & IDEs Atmel AVR Toolchain: ld findet -lm nicht


von TriHexagon (Gast)


Lesenswert?

Hi,

ein Programm für den ATMega32 braucht diesmal die libm.a, weil ich eine 
Division ausführe. Weshalb auch immer findet avr-ld die Bibliothek 
nicht, obwohl sie da ist.
1
avr-ld -lm
2
avr-ld: cannot find -lm
3
4
/opt/avr8-gnu-toolchain-linux_x86_64$ find -iname libm.a
5
./avr/lib/avrxmega4/libm.a
6
./avr/lib/avr25/tiny-stack/libm.a
7
./avr/lib/avr25/libm.a
8
./avr/lib/avrtiny/libm.a
9
./avr/lib/avrxmega5/libm.a
10
./avr/lib/tiny-stack/libm.a
11
./avr/lib/avr51/libm.a
12
./avr/lib/avrxmega7/libm.a
13
./avr/lib/avr4/libm.a
14
./avr/lib/avr7/libm.a
15
./avr/lib/avr3/libm.a
16
./avr/lib/avrxmega2/libm.a
17
./avr/lib/libm.a
18
./avr/lib/avr6/libm.a
19
./avr/lib/avrxmega6/libm.a
20
./avr/lib/avr31/libm.a
21
./avr/lib/avr35/libm.a
22
./avr/lib/avr5/libm.a

Schon im Internet gesucht, scheine da irgendwie der Einzige zu sein.
Danke im Voraus.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Verwende avr-gcc als Linker-Treiber, nicht avr-ld direkt.  Falls es auch 
damit bnicht funktioniert, gibt es Probleme mit der Installation oder du 
hast fragwürdige Optionen angegeben.

: Bearbeitet durch User
von TriHexagon (Gast)


Lesenswert?

Tatsächlich jetzt gehts ohne Probleme. Vielen Dank!
Hab diesmal ein Makefile von einem ARM Projekt genommen und angepasst 
für AVR. Sollte man allgemein den gcc als Linker-Treiber nutzen? Also 
auch für den arm-none-eabi-ld?

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

TriHexagon schrieb:
> Sollte man allgemein den gcc als Linker-Treiber nutzen?

Schau dir mal die Ausgabe von gcc -v an.  Wenn du Spaß damit haben 
willst, die Optionen und all die (Multilib-)Pfade selber zu setzen, dann 
nein.

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.