Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
ding280
- Beiträge: 324
- Registriert: 15.04.2005 18:31:18
Beitrag
von ding280 » 30.10.2007 17:18:52
Hallo,
ich habe mir in Eclipse das C/C++-Plugin installiert und mir ein neues Managed-C-Projekt angelegt. Dort habe ich nun eine kleines Testprogramm angelegt:
Code: Alles auswählen
#include <stdio.h>
#include <math.h>
int main()
{
float zahl = 9.0;
float wurzel = sqrt(zahl);
return 0;
}
Sobald ich jedoch speichere, kompiliert Eclipse ja automatisch. Hier bekomme ich jedesmal folgenden Fehlermeldung:
Code: Alles auswählen
./test.o: In function `main':
../test.c:7: undefined reference to `sqrt'
collect2: ld returned 1 exit status
Ich weiß, dass ich irgendwie beim gcc den Parameter -lm angeben muss. Aber wie mache ich das mit Eclipse?
Grüße ding280
-
chrigl
- Beiträge: 26
- Registriert: 06.09.2004 19:49:30
Beitrag
von chrigl » 30.10.2007 18:58:28
hi ding280,
da musst du die Eigenschaften deines Projektes verändern.
Project->Properties
... ich hab dir mal lieber nen screenshoot gemacht. Das ist einfacher als versuchen zu beschreiben wo's ist
Gruß, chris
-
ding280
- Beiträge: 324
- Registriert: 15.04.2005 18:31:18
Beitrag
von ding280 » 30.10.2007 19:12:19
Hallo,
vielen Dank für deine Hilfe, hat wunderbar funktioniert. Dann kann ich ja jetzt ein paar Treiber für den Kernel schreiben
Grüße ding280
-
Meillo
- Moderator
- Beiträge: 9254
- Registriert: 21.06.2005 14:55:06
- Wohnort: Balmora
-
Kontaktdaten:
Beitrag
von Meillo » 31.10.2007 10:47:17
Um noch zu erklären, was du da gemacht hast:
Die math.h-Funktionen liegen in einer externen Bibliothek die dazugelinkt werden muss. Die geschieht bei Linken mit -lm (diese Kurzform, da die Math-Lib sehr häufig gelinkt wird.)
Die Angaben die du in diesem Fenster gemacht hast, sind Kommandozeilen-Optionen für den gcc/g++.
(Ich denke diese Frontend-unabhängigen Informationen sind sinnvoller als ein "klick hier, mach so".)
Use ed once in a while!
-
ding280
- Beiträge: 324
- Registriert: 15.04.2005 18:31:18
Beitrag
von ding280 » 31.10.2007 16:25:56
Hallo,
vielen Dank für die Erklärung. Muss ich denn irgendwann ggf. weitere Bibliotheken dazulinken?
Grüße ding280
-
Meillo
- Moderator
- Beiträge: 9254
- Registriert: 21.06.2005 14:55:06
- Wohnort: Balmora
-
Kontaktdaten:
Beitrag
von Meillo » 31.10.2007 19:06:21
ding280 hat geschrieben:Muss ich denn irgendwann ggf. weitere Bibliotheken dazulinken?
Wenn du sie verwendest, dann ja
Du bekommst dann aber wohl entsprechende Compiler- bzw. Linker-Errors.
Use ed once in a while!
-
ding280
- Beiträge: 324
- Registriert: 15.04.2005 18:31:18
Beitrag
von ding280 » 31.10.2007 19:07:28
Meillo hat geschrieben:Du bekommst dann aber wohl entsprechende Compiler- bzw. Linker-Errors.
Ok, bei Bedarf meld ich mich dann einfach wieder.
Grüße ding280