Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
reox
- Beiträge: 2541
- Registriert: 06.06.2006 22:09:47
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von reox » 18.05.2008 19:22:39
Ich hab bis jetzt immer nur C unter Windows programmiert, da wir das in der Schule halt so machen... Nun hab ich einige Files die ich etwas bearbeitet habe und nun compileren muss. Eine make Datei war dabei, also in den Ordner und make eingegeben. Nur das geht leider nicht da gcc die ganzen stdlib usw nicht hat oder nicht findet:
Code: Alles auswählen
reox@Daryonia:~/Desktop/webgui/sources$ sudo make
cc -D_GNU_SOURCE -c index.c -o index.o
index.c:1:19: Fehler: stdio.h: No such file or directory
index.c:2:20: Fehler: string.h: No such file or directory
index.c:3:20: Fehler: stdlib.h: No such file or directory
index.c: In Funktion »main«:
index.c:46: Warnung: Unverträgliche implizite Deklaration der eingebauten Funktion »printf«
index.c:47: Warnung: Unverträgliche implizite Deklaration der eingebauten Funktion »exit«
index.c:66: Fehler: »EXIT_SUCCESS« nicht deklariert (erste Benutzung in dieser Funktion)
index.c:66: Fehler: (Jeder nicht deklarierte Bezeichner wird nur einmal aufgeführt
index.c:66: Fehler: für jede Funktion in der er auftritt.)
index.c: In Funktion »getLevel1«:
index.c:70: Fehler: »NULL« nicht deklariert (erste Benutzung in dieser Funktion)
index.c: In Funktion »getLevel2«:
index.c:86: Fehler: »NULL« nicht deklariert (erste Benutzung in dieser Funktion)
index.c: In Funktion »printMenu1«:
index.c:102: Warnung: Unverträgliche implizite Deklaration der eingebauten Funktion »printf«
index.c: In Funktion »printMenu2player«:
index.c:139: Warnung: Unverträgliche implizite Deklaration der eingebauten Funktion »printf«
index.c: In Funktion »printMenu2«:
index.c:194: Warnung: Unverträgliche implizite Deklaration der eingebauten Funktion »printf«
index.c: In Funktion »pringPageHead«:
index.c:231: Warnung: Unverträgliche implizite Deklaration der eingebauten Funktion »printf«
index.c: In Funktion »printPageFoot«:
index.c:242: Warnung: Unverträgliche implizite Deklaration der eingebauten Funktion »printf«
make: *** [index.o] Fehler 1
So sieht das dann aus. Wie kann ich die headerfiles mit linken lassen? muss ich mir die jetzt laden und in den ordner packen? oder kann ich das im makefile noch anpassen etc?
-
gms
- Beiträge: 7798
- Registriert: 26.11.2004 20:08:38
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von gms » 18.05.2008 19:34:08
die stdlib.h gibt es auch auf Unix/Linux- Systemen, dir fehlt wahrscheinlich nur das Paket "libc6-dev"
Wenn du dieses Programm für Windows bauen möchtest, kannst du das auch unter Linux mit dem Compiler aus dem mingw32 Paket. Testen kannst du das Programm dann über Wine
Gruß
gms
edit: aja, die Header-Files spielen beim Linken keine Rolle mehr
-
reox
- Beiträge: 2541
- Registriert: 06.06.2006 22:09:47
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von reox » 18.05.2008 19:41:00
jo die libc6-dev fehlte! danke
-
nepos
- Beiträge: 5238
- Registriert: 05.01.2005 10:08:12
Beitrag
von nepos » 19.05.2008 11:26:56
Wozu eigentlich mit sudo Compilieren? Da brauchst du doch keine Root-Rechte.
-
reox
- Beiträge: 2541
- Registriert: 06.06.2006 22:09:47
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von reox » 19.05.2008 11:45:56
achso ja... ich habs das erste mal ohne sudo gemacht da hab ich eben die fehlermeldung bekommen und habs dann noch mit sudo probiert...