PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : gcc



benedikt
11-09-2001, 19:43
Hallo,
Hab mir vor kurzer Zeit SuSE 7.2 zugelegt. Aber irgendwie klappt da was mit dem gcc nicht. Denn wenn ich eine Funktion aus math.h verwende schreibt der Compiler z.B.:

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

Funktionen aus stdlib.h oder ctype.h funktionieren aber.

Noch etwas: Warum kann ich mich hier nur anmelden wenn ich Netscape verwende und nicht mit dem Konqueror-Browser (Cookies sind an)?
Danke
liebe Grüsse Bene

stefan77
11-09-2001, 20:47
Link mal mit -lm die Mathe Bibliothek dazu.

SJW

benedikt
11-09-2001, 22:23
Danke, hat funktioniert.
Aber kannst du mir erklären warum ich ausgerechnet die math.h extra mit der option -lm dazulinken muss?
lg bene

thommy
12-09-2001, 08:17
Die Header-Datei 'math.h' enthält quasi das Kochrezept; aber um das Programm letztlich zu 'backen', brauchst Du auch die Zutaten. Und die stehen in der 'libm.a', welche mit -lm dazugelinkt werden.

Thomas

Lin728
17-09-2001, 06:43
Hätt aber auch suse amhen können .... :confused:

Christoph
17-09-2001, 10:04
+ Hätt aber auch suse amhen können
+
Der Sinn von Bibliotheken besteht darin, dass sie OPTIONAL sind, d.h. man kann sie auch weglassen.

Wenn automatisch alle vorhandenen Bibliotheken dazugelinkt würden, dann würde ein "Hello World" Programm etliche MB gross sein...