C++ + GTK
-
Kann mir mal bitte jemand sagen was an deisem Source falsch ist... ich weis es nicht... und komme auch net mehr weiter...
#include <gtk/gtk.h> const gchar *bilder[] = {"1.jpg", "2.jpg", "3.jpg", "4.jpg", "5.jpg", "6.jpg", "7.jpg", "8.jpg", }; int index = 0; GtkWidget *bild; static void destroy (GtkWidget *widget, gpointer data) { gtk_main_quit(); } static gboolean delete_event( GtkWidget *widget, GdkEvent *event, gpointer data) { g_print("Delete Event aufgetreten \n"); return false; } static void funcWeiter { index++; if(index == 8) { index = 0; } gtk_image_set_form_file (GTK_IMAGE(bild),bilder[index]); } int main (int argc, char *argv[] ) { GtkWidget *window; GtkWidget *weiter; GtkWidget *layout; gtk_init (&argc, &argv); window = gtk_window_new (GTK_WINDOW_TOPLEVEL); bild = gtk_image_new_from_file (bilder[index]); weiter = gtk_button_new_with_label ("weiter >>"); g_signal_connect (G_OBJEC (weiter), "clicked", G_CALLBACK (funcWeiter),NULL); layout = gtk_vbox_new (FALSE, 2); gtk_container_add (GTK_CONTAINER (window), layout); gtk_box_pack_start (GTK_BOX (layout), bild, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (layout), bild, FALSE, FALSE, 0); gtk_window_set_title(GTK_WINDOW(window), "TeRrASofT"); g_signal_connect(G_OBJECT(window), "delete_event", G_CALLBACK(delete_event), NULL); g_signal_connect(G_OBJECT(window), "destroy", G_CALLBACK(destroy), NULL); gtk_widget_show (bild); gtk_widget_show (weiter); gtk_widget_show (layout); gtk_widget_show (window); gtk_main (); return 0; }
THX im vorraus schonmal
mfg. Dagobert
-
Hiho!
Bitte poste die Fehlermeldungen, die dein Compiler ausspuckt, damit wir dir helfen koennen
-
ok dann kommen hier jetzt nochmal 100 fehler hin wenn ...^^
na super ich kann die net mal kopiern ... ich poste die fehlermeldungen morgen aus der schule, hab da in info genug zeit für *g*
-
Die ersten 10 Zeilen sollten leicht genuegen
-
kann das sein das mein compieler meine GTK übern haufen geschossen hat?
also ich habs mit cygwin compielert:
g++ fenster2.cpp o- fenster2 `pkg-config gtk+-2.0 --cflags --libs` -mms-bitfields
dann kamen vogelnde Fehler:
Package gtk+-2.0 was not found in the pkg-config search path. Prehaps you should add the direcory containg `gtk+-2.0.pc` to the PKG_CONFIG_PATH environment variable NO package 'gtk+-2.0' found fenster2.cpp:1:21: gtk/gtk.h: No such file directory fenster2.cpp:3: error: expected init-declarator befor `*´token fenster2.cpp:3: error: expectd `,`or `;`befor `*`token fenster2.cpp:5: error: expected constructor, or type conversion before `*` token fenster2.cpp:5: error: expected `,` or `;` before ´*` token fenster2.cpp:7: error: variable or field `destroy`declared void fenster2.cpp:7: error: `GtkWidget` was not declared in this scope
muss ich noch mehr posten oder reicht das erstmal
-
was sagt denn pkg-config gtk+-2.0 --cflags --libs ?
-
die erste zeile sagt doch schonmal einiges
Package gtk+-2.0 was not found in the pkg-config search path.
du hast gtk+-2.0 nicht oder nicht richtig installiert...
mfg blan
-
dann hat mein sys es abgeschossen... denn ich hab vorher auch schon sachen mit GKT kompiliert...
naja habs neuinst... immer noch gleicher fehler...
-
was benutzt du denn, windows / linux (welche distribution?) und wie installierst du es?
mfg blan
-
ich hab win XP Prof drauf... dafür das GTK devlop... und mache es mit cygwin... wir bei der installation automatisch mit eingebunden wenn man es ankreuzt
-
naja wenns mit pkg-config net funktioniert dann übergib die paramter die pkg-config automisch macht halt manuell?
mfg blan
-
Weist du zufällig wie?
-
hab kein windows und deswegn kann ich dir nur die ausgabe unter linux von pkg-config sagen
-DXTHREADS -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -Wl,--export-dynamic -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
solltest halt deim kompiler die oben genannten libs / dlls übergeben und die Include-Dirs, das müste langen...
mfg blan