Ciao A tutti
Ho preso l'esempio (Hello world) dalla guida delle gtk (sito: www.gtk.org)
Ho provato a compilare, ma ricevo degli errori:codice:#include <gtk/gtk.h> /* This is a callback function. The data arguments are ignored * in this example. More on callbacks below. */ static void hello( GtkWidget *widget, gpointer data ) { g_print ("Hello World\n"); } static gboolean delete_event( GtkWidget *widget, GdkEvent *event, gpointer data ) { /* If you return FALSE in the "delete_event" signal handler, * GTK will emit the "destroy" signal. Returning TRUE means * you don't want the window to be destroyed. * This is useful for popping up 'are you sure you want to quit?' * type dialogs. */ g_print ("delete event occurred\n"); /* Change TRUE to FALSE and the main window will be destroyed with * a "delete_event". */ return TRUE; } /* Another callback */ static void destroy( GtkWidget *widget, gpointer data ) { gtk_main_quit (); } int main( int argc, char *argv[] ) { /* GtkWidget is the storage type for widgets */ GtkWidget *window; GtkWidget *button; /* This is called in all GTK applications. Arguments are parsed * from the command line and are returned to the application. */ gtk_init (&argc, &argv); /* create a new window */ window = gtk_window_new (GTK_WINDOW_TOPLEVEL); /* When the window is given the "delete_event" signal (this is given * by the window manager, usually by the "close" option, or on the * titlebar), we ask it to call the delete_event () function * as defined above. The data passed to the callback * function is NULL and is ignored in the callback function. */ g_signal_connect (G_OBJECT (window), "delete_event", G_CALLBACK (delete_event), NULL); /* Here we connect the "destroy" event to a signal handler. * This event occurs when we call gtk_widget_destroy() on the window, * or if we return FALSE in the "delete_event" callback. */ g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (destroy), NULL); /* Sets the border width of the window. */ gtk_container_set_border_width (GTK_CONTAINER (window), 10); /* Creates a new button with the label "Hello World". */ button = gtk_button_new_with_label ("Hello World"); /* When the button receives the "clicked" signal, it will call the * function hello() passing it NULL as its argument. The hello() * function is defined above. */ g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (hello), NULL); /* This will cause the window to be destroyed by calling * gtk_widget_destroy(window) when "clicked". Again, the destroy * signal could come from here, or the window manager. */ g_signal_connect_swapped (G_OBJECT (button), "clicked", G_CALLBACK (gtk_widget_destroy), G_OBJECT (window)); /* This packs the button into the window (a gtk container). */ gtk_container_add (GTK_CONTAINER (window), button); /* The final step is to display this newly created widget. */ gtk_widget_show (button); /* and the window */ gtk_widget_show (window); /* All GTK applications must have a gtk_main(). Control ends here * and waits for an event to occur (like a key press or * mouse event). */ gtk_main (); return 0; }
Dall'errore sembra che il compilatore non ha trovato le librerie Gtk, ora non so quale pacchetto installare sul pc per fa girare questi programmi con la grafica...codice:damiano@damiano:~/lavoro/c++$ g++ prova.cpp prova.cpp:1:21: gtk/gtk.h: No such file or directory prova.cpp:5: error: variable or field `hello' declared void prova.cpp:5: error: `GtkWidget' was not declared in this scope prova.cpp:5: error: `widget' was not declared in this scope prova.cpp:6: error: `gpointer' was not declared in this scope prova.cpp:7: error: initializer expression list treated as compound expression prova.cpp:7: error: expected `,' or `;' before '{' token prova.cpp:11: error: `gboolean' does not name a type prova.cpp:30: error: variable or field `destroy' declared void prova.cpp:30: error: `GtkWidget' was not declared in this scope prova.cpp:30: error: `widget' was not declared in this scope prova.cpp:31: error: `gpointer' was not declared in this scope prova.cpp:32: error: initializer expression list treated as compound expression prova.cpp:32: error: expected `,' or `;' before '{' token prova.cpp: In function `int main(int, char**)': prova.cpp:40: error: `GtkWidget' undeclared (first use this function) prova.cpp:40: error: (Each undeclared identifier is reported only once for eachfunction it appears in.) prova.cpp:40: error: `window' undeclared (first use this function) prova.cpp:41: error: `button' undeclared (first use this function) prova.cpp:45: error: `gtk_init' undeclared (first use this function) prova.cpp:48: error: `GTK_WINDOW_TOPLEVEL' undeclared (first use this function) prova.cpp:48: error: `gtk_window_new' undeclared (first use this function) prova.cpp:55: error: `G_OBJECT' undeclared (first use this function) prova.cpp:56: error: `delete_event' undeclared (first use this function) prova.cpp:56: error: `G_CALLBACK' undeclared (first use this function) prova.cpp:56: error: `NULL' undeclared (first use this function) prova.cpp:56: error: `g_signal_connect' undeclared (first use this function) prova.cpp:65: error: `GTK_CONTAINER' undeclared (first use this function) prova.cpp:65: error: `gtk_container_set_border_width' undeclared (first use this function) prova.cpp:68: error: `gtk_button_new_with_label' undeclared (first use this function) prova.cpp:80: error: `gtk_widget_destroy' undeclared (first use this function) prova.cpp:81: error: `g_signal_connect_swapped' undeclared (first use this function) prova.cpp:84: error: `gtk_container_add' undeclared (first use this function) prova.cpp:87: error: `gtk_widget_show' undeclared (first use this function) prova.cpp:95: error: `gtk_main' undeclared (first use this function) prova.cpp:98:2: warning: no newline at end of file damiano@damiano:~/lavoro/c++$
Ho molti programmi che utilizzano queste librerie grafiche come lopster e molti altri...ma quando vado a compilare non va...
neanche a dire che il codice sia sbagliato, l'ho presto proprio dallo loro guida![]()
Aiutooooo
![]()

Rispondi quotando
