Forum: Compiler & IDEs F: Problem mit math.h / mspgcc


von Florian - der Flo - Scharf (Gast)


Lesenswert?

Tach Leute,


ich bin dabei, eine Applikation fuer den MSP430-149 zu schreiben und
benoetige dafuer einige mathematische Funktionen, in diesem Fall z.B.
die Potenz x^y, also pow(x,y);

Ich binde es auch in der main.c ueber #include math.h ein, allerdings
kennt der Compiler den Befehl trotzdem nicht und meckert folgendes:

---------------------8<---------------------8<---------------------
Projekte/mspgcc/math1/main.c:78: undefined reference to `pow'
---------------------8<---------------------8<---------------------

Hat jemand einen Vorschlag oder eine Idee?


Danke,

Florian

von Matthias (Gast)


Lesenswert?

Hi

-lm dem Linker mitgeben um die Mathematikbibliothek zu linken (kleines
L keine Eins)

Matthias

von Florian - der Flo - Scharf (Gast)


Lesenswert?

Hi Matthias,

danke fuer den Hinweis, jetzt sagt mir der Linker folgendes:

msp430-gcc -mmcu=msp430x149 -O2 -Wall -g -lm -c main.c
msp430-gcc: -lm: linker input file unused because linking not done
msp430-gcc -mmcu=msp430x149 -o aout.elf main.o lcd.o
main.o(.text+0x170): In function `main':
/cygdrive/c/Projekte/mspgcc/math1/main.c:78: undefined reference to
`pow'
make: *** [aout.elf] Error 1


thx, Florian

von Florian - der Flo - Scharf (Gast)


Lesenswert?

Ok Ergänzung, es lag daran, dass ich das -lm an der falschen Stelle
eingefügt hatte. Allerdings scheint der GCC lediglich sin(x) und cos(x)
zu kennen, selbst einfache Sachen wie exp(x) oder ln(x) bringen
Fehlermeldungen, geschweige denn "exotischere" Funktionen wie
pow(x,y).

Gibts denn irgendwo eine Übersicht, oder einen Hinweis darauf, welche
mathematischen Funktionen ueberhaupt umgesetzt sind?


Florian

von OldBug (Gast)


Lesenswert?

Na sicher doch: math.h ;-)

Gruß,
Patrick...

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.