PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : helloworld für gtk zum laufen bringen..



24dan
17-05-2006, 11:40
Hallo ...
ich versuchte gerade mein erstes gnome-gtk helloworld zu compilieren und bekomme nur folgende Meldung:



gcc -o gtkhallo.c "pkg-config gtk-2.0 --cflags --libs" gcc: pkg-config gtk-2.0 --cflags --libs: No such file or directory
gcc: no input files


Kann jemand helfen?

Ich habe das hellofoo aus dem Buch Gnome 2.0 das Entwicklerhandbuch aus dem Galileo Verlag.

Da heist es auch man kann recht kompliziert auch folgendes versuchen:


-I/opt/gnome/include/glib-2.0 -I/opt/gnome/lib/glib-2.0/include -o gtktest gtkhello.c -L/opt/gnome/lib -1glib-2.0


bekomme auch dort nur:


bash: -I/opt/gnome/include/glib-2.0: No such file or directory


Kann jemand helfen?

klaus_harrer
17-05-2006, 18:44
Hallo

Du gibst den source File als output File an.

gcc -o gtkhallo.c

müsste wie folgt Ausehen:

gcc gtkhallo.c -o gtkhallo `pkg-config --libs --cflags gtk+-2.0`

MfG
klausharrer

24dan
20-05-2006, 16:49
Hallo klaus_harrer,

vielen Dank das klappt jetzt mein erstes hallo world lies sich öffnen und auf knopfdruck schliessen.

Nur habe ich keinen Test auf der ButtonFläche sehen können.
Anbei mein source:


#include <gtk/gtk.h>

void hallo(GtkWidget *widget, gpointer daten)
{
g_print("Hallo, Welt!\n");
}

gint delete_event(GtkWidget *widget, GdkEvent event, gpointer daten)
{
return FALSE;
}

void ende(GtkWidget *widget, gpointer daten)
{
gtk_main_quit();
}

int main (int argc, char **argv)
{
GtkWindow *fenster;
GtkButton *knopf;

gtk_init(&argc, &argv);

fenster = g_object_new(GTK_TYPE_WINDOW,
"default-height", 200,
"default-width", 200,
"border-width", 12,
"title", "GtkHallo",
NULL);

g_signal_connect( fenster,
"delete-event",
G_CALLBACK(delete_event),
NULL);

g_signal_connect( fenster,
"destroy",
G_CALLBACK(ende),
NULL);

knopf = g_object_new( GTK_TYPE_BUTTON,
"lable",
"_Hallo, Welt! \nHier draufdrücken",
"use-underline", TRUE,
NULL);

g_signal_connect( knopf,
"clicked",
G_CALLBACK(hallo),
NULL);

g_signal_connect_swapped( knopf,
"clicked",
G_CALLBACK(gtk_widget_destroy),
fenster);

gtk_container_add( GTK_CONTAINER(fenster),
GTK_WIDGET(knopf));

gtk_widget_show_all(GTK_WIDGET(fenster));

gtk_main();

return(0);
}



Kannst Du mir sagen was ich falsch gemacht habe???


Als Fehlermeldung erhalte ich auf der Console:


(gtkhallo:5624): Gtk-WARNING **: Invalid input string

24dan
20-05-2006, 17:26
Also das mit dem


...Invalid input string

hat sich geklärt...
Die Sache ist einfach auf meiner Maschine nicht für Umlaute geeignet.