www.mikrocontroller.net

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


Autor: Florian - der Flo - Scharf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi

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

Matthias

Autor: Florian - der Flo - Scharf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Florian - der Flo - Scharf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: OldBug (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Na sicher doch: math.h ;-)

Gruß,
Patrick...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.