PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Sinuswerte



alchimist
23-10-2001, 19:54
Hi alle, die Frage ist mir ja schon fast peinlich, aber mit der Fehlermeldung kann ich nichts anfangen.
Ich will nur die Ausgabe von Sinuswerten haben und es tut nicht.
7 #include <math.h>
8 #include <stdio.h>
9
10
11 int main (void) {
12 double pi = 3.1415;
13 double i = 0.0;
14 double erg = 0.0;
15
16 while(i >= 2*pi) {
17 erg = sin(i);
18 printf("sinus von %f = %f", i, sin(0.45));
19 i += 0.01;
20 }
21
22 return 0;
23 }

Jetzt ist die Fehlermeldung nach dem aufruf von
gcc -o trigos trigos.c
folgende

/tmp/ccZYnHDj.o: In function `main':
/tmp/ccZYnHDj.o(.text+0x36): undefined reference to `sin'
collect2: ld returned 1 exit status

Ich verstehe das nicht, denn die math.h ist unter /usr/include vorhanden

[ 23. Oktober 2001: Beitrag editiert von: alchimist ]

stefan77
23-10-2001, 22:02
Eine Meldung vom Linker.
Er findet die sin()-Funktion nicht.
Die compiler-Anweisung um -lm erweitern für den MatheTeil der C-Bibliothek.


gcc -lm -o trigos trigos.c


P.S. Im der math.h ist pi als M_PI mit 20 Nachkommastellen vordefiniert.

alchimist
24-10-2001, 01:01
Hi SJW,
Danke fuer die antwort hat wcht gut geklappt,
aber sag mir doch noch ob das uwblich ist, das ich -lm an gcc mituebergeben muss.

Cu alchimist

jgbauman
24-10-2001, 07:42
Ja, sobald Du Funktionen aus math.h benutzt.
Mit etwas Suchen in diesem Forum wuerdest Du auch merken wie haeufig diese Frage ist.