gtk für c installiert und läuft nicht ;(

M

mailtopp

Aktives Mitglied
Thread Starter
Dabei seit
17.09.2003
Beiträge
783
Reaktionspunkte
15
hi,

hab mir gtk für den mac runtergeladen (ist eine library mit benutzeroberflächen für c). In der readme stand folgende Installationsanweisung:

configure --disable-static
make
[su]
make install

das hab ich gemacht und das hat auch funktioniert! dann is so ein helloworld beispiel dabei.. wenn ich das mit gcc compilliere kommt folgende antwort:

helloworld.c:5:21: gtk/gtk.h: No such file or directory
helloworld.c:9: error: parse error before '*' token
helloworld.c:15: error: parse error before "delete_event"
helloworld.c:15: error: parse error before '*' token
helloworld.c:34: error: parse error before '*' token
helloworld.c: In function `main':
helloworld.c:44: error: `GtkWidget' undeclared (first use in this function)
helloworld.c:44: error: (Each undeclared identifier is reported only once
helloworld.c:44: error: for each function it appears in.)
helloworld.c:44: error: `window' undeclared (first use in this function)
helloworld.c:45: error: `button' undeclared (first use in this function)
helloworld.c:52: error: `GTK_WINDOW_TOPLEVEL' undeclared (first use in this function)
helloworld.c:84: error: `gtk_widget_destroy' undeclared (first use in this function)

In der helloworld.c is oben per include folgende header datei eingebunden:
#include <gtk/gtk.h>

Die findet er anscheinend nicht und deswegen kennt er die funktionen nicht! wisst ihr, wohin ich diesen gtk ordner kopieren muss, dass er sie an der richtigen stelle findet?
 
Wenn es bei make und make install keine Fehler gab, ist die GTK-Installation in Ordnung. Zum Kompilieren von GTK-Anwendungen gibt es das Dienstprogramm gtk-config; es liefert die nötigen Argumente (include-, lib-Verzeichnisse, Libraries und sonstige Flags) innerhalb des gcc-Aufrufes.

Rufe gcc mal folgendermaßen auf:
Code:
gcc `gtk-config --cflags` `gtk-config --libs` -o helloworld helloworld.c
Ich habe allerdings GTK+ für X11 erwischt, starten mit open-x11 ./helloworld. Beim Kompilieren ist man aber mit gtk-config immer auf der sicheren Seite.
 
Zuletzt bearbeitet:
was sind das für komscihe hoch-kommas? damit kann meine shell nix anfangen...
 
mailtopp schrieb:
was sind das für komscihe hoch-kommas? damit kann meine shell nix anfangen...
Das sind rechtsfallende Hochkammata, (bzw. accent grave), in der Shell-Lingo bekannt als Backticks. Die führen die eingeschlossenen Zeichenketten als Befehl in einer Sub-Shell aus und die Bash substituiert die zurückgelieferte Zeichenkette. Damit MUSS Deine Shell etwas anfangen können; andernfalls hast Du Dich vertippt.

Es könnte sein, dass Du im Terminal [SHIFT] und ` und dann [SPACE] drücken musst, um einen isolierten Backtick zu erhalten.

Beispielsweise solllte echo `gtk-config --cflags` folgenden oder ähnlichen Output liefern:
Code:
-I/sw/include/gtk-1.2 -I/sw/include/glib-1.2 -I/sw/lib/glib/include -I/usr/X11R6/include
 
Zuletzt bearbeitet:
87-193-13-146:~ pipsen$ echo `gtk-config --cflags`
-bash: gtk-config: command not found
 
Mein GTK kommt aus fink. Dann musst Du es bei Dir mal suchen oder im Makefile nachlesen, wo die Binaries defaultmäßig liegen.
 
Zurück
Oben Unten