• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

erstelltes GTK3 Programm läßt sich nicht ausführen

A

Anonymous

Gast
Ich arbeite mit openSUSE 12.1 unter dem Gnome Desktop. Jetzt wollte ich mich mal der Gnome 3 Programmierung widmen und mich damit einarbeiten. Dazu habe ich Glade 3.10.2 und als IDE Anjuta 3.2.1 installiert. Alle nötigen Werkzeuge wie G++ mit make und die erforderlichen Bibliotheken wie GTK3-devel sind ebenfalls installiert. Dann habe ich für einen Probelauf mit Anjuta ein Projekt GTK+ Anwendung namens gtk-foobar erstellt. Das compilieren verlief auch einwandfrei und ohne Fehler. Innerhalb der Anjuta IDE ließ sich das binäre Programm auch ausführen und anzeigen. Wenn ich allerdings in den Projektordner gtk-foobar/scr gehe und das erstellte Programm gtk_foobar zur Ausführung anklicke, dann startet es nicht. Wenn ich es dann im Terminal mit ./gtk_foobar auszuführe, dann kommt folgende Fehlermeldung:

Code:
** (gtk_foobar:4208): CRITICAL **: Couldn't load builder file: Datei »src/gtk_foobar.ui« konnte nicht geöffnet werden: Datei oder Verzeichnis nicht gefunden

** (gtk_foobar:4208): CRITICAL **: Widget "window" is missing in file src/gtk_foobar.ui.

(gtk_foobar:4208): Gtk-CRITICAL **: gtk_window_set_application: assertion `GTK_IS_WINDOW (window)' failed

(gtk_foobar:4208): Gtk-CRITICAL **: gtk_widget_show_all: assertion `GTK_IS_WIDGET (widget)' failed
Dazu muss ich betonen, das die vermisste gtk_foobar.ui sehr wohl in dem gleichen Ordner vorhanden ist.
 
OP
A

Anonymous

Gast
Also bei Anjuta war es eh Liebe auf dem zweiten Blick, aber das es so wenig Freunde und Anhänger hat, macht mich jetzt doch stutzig. Auch diejenigen, die mit GTK oder GTK+ programmieren, scheinen doch eher in der Minderheit zu sein. Egal, ich habe mich jetzt mit Glade beschäftigt und habe auch schon mein erstes Lazarus (Objektpascal) geschriebenes Programm erfolgreich nach GTK und C portiert.
 

SaHel

Member
ralli schrieb:
Dazu muss ich betonen, das die vermisste gtk_foobar.ui sehr wohl in dem gleichen Ordner vorhanden ist.

Schau doch mal nach, ob das UI File auch im Programm den richtigen Pfad hat:
Code:
gtk_builder_add_from_file( builder, "/pfad/zu/deinem/programm/gtk_footbaar.ui", &error )

resp. wenn es im ausführbaren Verzeichnis ist

[b]gtk_builder_add_from_file( builder, "gtk_footbaar.ui", &error )[/b]
Vielleicht noch ein Hinweis:
Wenn Du ganz am Anfang mit GTK bist und nur mal mit Glade spielen willst, empfehle ich Dir das ganze ohne Anjuta zu machen. Schreibe ein einfaches Programm, wie es in etlichen C Tutorials angegeben ist und ergänze es successive um die Callbacks... wenn Du das ganze in C++ programmieren möchtest, wäre wohl gtkmm eine bessere Wahl. Und - ohne Deinen Code zu kennen, kann ich auch nur in die nicht vorhandene Glaskugel schauen. ;)
 
OP
A

Anonymous

Gast
Danke SaHel, Du hast Recht und ich folge Deinen Empfehlungen gerne. Anjuta hat mir eh nicht zugesagt, ich möchte Programme für den Gnome Desktop erstellen und zwar definitiv für Gtk2 mit C. Warum C? Weil ich zurück zu den Wurzeln möchte. Ich werde erst mal mit Geany ein paar Beispiele durcharbeiten, wenn ich das alles verstanden habe, dann darf es auch Glade sein. Ich habe Glade 3 Version 3.6.7 installiert. Jetzt werde ich mich erst Mal schlau machen, wo der Unterschied zwischen dem Gtk_Builder und dem liblade Format ist und was vorteilhafter eingesetzt werden sollte. Ein paar Tutorials habe ich auch schon besorgt, dann kann es ja losgehen. Da ich unter anderem auch schon Erfahrungen mit dem Qt Framework sammeln durfte, wird er Umstieg ja nicht dramatisch sein. Wenn ich an einer Stelle nicht weiter komme, werde ich mich wieder melden und greife dann gerne auf Deine Hilfe zurück. Aller Anfang ist schwer, aber learning by doing gilt auch heute noch! ;)
 
Oben