Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : Noch ne Newbie frage:



Chaos2k
17-01-2003, 16:25
Hi also ich bin immer noch dabei das buch durchzuarbeiten. So nun hab ich folgendes problem:
aus einer zahl soll die Wurzel gezogen werden wenn sie größer oder gleich null ist
QT:
#include <stdio.h>
#include <math.h>

int main()
{
double x=5, y=25;
/* float-zahl einlesen */
printf("Bitte eine float-Zahl:\n");
scanf("%g", &x);
/* Quadratwurzel ziehen */
if ( x >= 0 ) y = sqrt(x);
/* Resultat ausgeben */
printf("Die Wurzel aus %g ist %g", x,y);
return 0;
}

So Gcc sagt mir aber:

ifbedingung.o: in function 'main'
ifbedingung.o(.text+0x6c): undefined reference to 'sqrt'
collect2:ld returned 1 exit status



:confused: :confused:
THX Chaos2k

anda_skoa
17-01-2003, 16:36
Du mußt mit der libm, der Math Library linken

#> gcc -o programm source.c -lm

Generell:
wenn es "undefined reference" heißt, dann ist das eine Fehlermeldung des Linkers, d.h. es wurde erfolgreich kompiliert, aber dann lief was schief.
Meistens eine Bibliothek vergessen, oder bei einer Funktion nur die Deklaration gemacht und die Implementatio vergessen.

Ciao,
_

Chaos2k
17-01-2003, 16:55
ohh thx, *g* habt geduld mit mir
MFg chaos2k

anda_skoa
17-01-2003, 17:15
Original geschrieben von Chaos2k
ohh thx, *g* habt geduld mit mir


Hab ich, hab ich :)

Die Belehrung war mehr als Hilfe zu Selbsthilfe gedacht.

Ciao,
_

Chaos2k
18-01-2003, 12:13
danke danke, ich hab auch eben mal nen bißl gegoogelt und mir ne beschreibung der gcc optionen und so weiter ausgedruckt ;)
MFG chaos2k