Hi Leute;
ich habe ein Problem mit Codeblocks. Und zwar sollen wir ein C-Programm schreiben mit einfachen Matheoperationen und haben dafür die math.h Bibliothek eingefügt. Hierzu der Quellcode:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | #include <stdio.h> /*Präprozessoranweisung*/ #include <math.h> #include <stdlib.h> #include <time.h> #define pi 3.141592 int main (void) { /* const double pi = 3.141592*/ double winkel; /*Deklaration der Var winkel*/ winkel = 90; printf("Bitte geben Sie den Winkel ein: "); scanf("%lf", &winkel); /* &: berechnet aus Varnamen die Speicherplatznummer*/ fflush(stdin); double sinus; sinus = sin(winkel * pi/180); /*Funktionsaufruf*/ printf("Der Sinus betr%cgt: %lf\n", 132,sinus); double cosinus; cosinus = cos(winkel * pi/180); /*Funktionsaufruf*/ printf("Der Cosinus betr%cgt: %lf\n",132,cosinus); double potenz; potenz = pow(2, 7); printf("2 hoch 7 ist: %lf\n", potenz); potenz = pow(7, 2); printf("7 hoch 2 ist: %lf\n", potenz); double seiteA, seiteB, seiteC; /*Dreieck berechnen*/ printf("Geben sie die L%cnge der Seite A ein: ", 132); scanf("%lf", &seiteA); fflush(stdin); printf("Geben sie die L%cnge der Seite B ein: ", 132); scanf("%lf", &seiteB); fflush(stdin); seiteC = sqrt(pow(seiteA, 2) + pow(seiteB, 2)); printf("Die L%cnge der Seite C ist: %.3lf\n", 132, seiteC); double zahl; zahl = 0.2; double mantisse; int exp; mantisse = frexp(zahl, &exp); printf("%lf ist 2 hoch %d * %lf\n", zahl, exp, mantisse); srand(time(0)); /*bindet die Zufallszahl an die aktuelle Uhrzeit*/ int zufall; zufall = rand(); printf("Zufallszahl: %d\n", zufall); return 0; } |
Leider gibt mir Codeblocks aber immer nur die Fehlermeldung
undefinierter Verweis auf "sin" error: ld returned 1 exit status
etc aus, quasi alle Mathefunktionen. Der Code ist so aber richtig, da er in meiner Windows VM auf dem Mac so einwandfrei in Codeblocks ausgeführt wird. So wie ich das im internet gelesen habe, scheint es am Linker zu liegen. Daher meine Frage ob mir wer helfen kann, diesen Fehler zu beheben?