# GTK Kdevelop C Programmierung Parameter

## JoHo42

Hi Leute,

ich möchte mir ein gleines GUI Programm schreiben.

Dafür habe ich mit die GTK+ als Libary rausgesucht.

Mit Glade die Oberfläche zusammen klicken war ja schon

mal nicht so schwer.

So nur habe ich mir die C File in ein Kdevelop Projekt kopiert

und eingebunden.

Der kdevelop meckert schon bei

#include <gtk/gtk.h>

Wie bringe ich dem Kdevelop bei wo er das kann finden und was muss ich da

noch als Kompiler Flags mitgeben für die Libs?

So das ich GTK im normalen C verwenden kann.

Meine Meldungen jetzt:

/usr/include/gtk-2.0/gtk/gtk.h:31:21: error: gdk/gdk.h: No such file or directory

/usr/include/gtk-2.0/gtk/gtk.h:32:32: error: gtk/gtkaboutdialog.h: No such file or directory

Wenn ich #include "/usr/include/gtk-2.0/gtk/gtk.h" angebe.

Gruß Jörg

P.S. Nein ich möchte kein QT verwenden, weiß auch nicht warum ist so.

----------

## musv

 *JoHo42 wrote:*   

> 
> 
> P.S. Nein ich möchte kein QT verwenden, weiß auch nicht warum ist so.

 

Also die Mischung GTK und Kdevelop erscheint mir nicht so harmonisch. 

Probier mal für GTK-Programmierung lieber Anjuta. Die Version-2.x sieht vielversprechend aus. Da hast du auch'n Assistenten dabei, der Dir am Anfang schon die GTK mit einbindet.

----------

## Battlestar Gentoo

 *JoHo42 wrote:*   

> Hi Leute,
> 
> ich möchte mir ein gleines GUI Programm schreiben.
> 
> Dafür habe ich mit die GTK+ als Libary rausgesucht.
> ...

 

Ob es der richtige Weg ist, ohne fundiertes GTK-Vorwissen irgendwie irgendwas zusammenzuklicken, sei mal dahingestellt. 

 *JoHo42 wrote:*   

> 
> 
> Der kdevelop meckert schon bei
> 
> #include <gtk/gtk.h>
> ...

 

Warum bindest du die _komplette_ GTK-Bibliothek ein, wenn du doch nur wenige Teile davon brauchst?

Das ist ein sehr schlechter Stil.

 *JoHo42 wrote:*   

> 
> 
> Meine Meldungen jetzt:
> 
> /usr/include/gtk-2.0/gtk/gtk.h:31:21: error: gdk/gdk.h: No such file or directory
> ...

 

Wie es scheint, musst du auch Teile von gdk einbinden, da das GTK wohl nicht automatisch macht.

Versuche mal mit `pkg-config gtk-2.0 --libs --cflags` zu kompilieren.

Wie das mit deinem Editor zu bewerkstelligen ist, weiß ich leider nicht.

Wenn ich einen Vorschlag machen darf und du eher C++-Programmierer als C-Programmierer bist, würde ich dir GTKmm - eine objektorientierte C++-Schnittstelle für GTK - anstatt GTK empfehlen.

----------

## franzf

 *musv wrote:*   

>  *JoHo42 wrote:*   
> 
> P.S. Nein ich möchte kein QT verwenden, weiß auch nicht warum ist so. 
> 
> Also die Mischung GTK und Kdevelop erscheint mir nicht so harmonisch. 

 

Mit kdevelop kann man auch Java, python, ruby (on rails), Pascal und auch C und vieles mehr machen. Verstehe deshalb nicht, warum es mit GTK sooo unharmonisch sein soll. Du musst wahrscheinlich in den Projekteinstellungen nur den Pfad zum gtk-include-directory angeben. Dann sollte das klappen. Wenn das Anjuta automatisch macht ist es wohl auch der einzige Vorteil  :Wink: 

Weshalb du aber kde verwendest (oder ist das einzige Programm kdevelop?) und dann GTK-Applikationen programmieren willst... hmmm. Qt ist nicht sooo kompliziert. Und mit dem designer kannst du ebenfalls sehr gut und schnell dein UI zaubern.

Egal für was du dich entscheidest, du solltlest dir wohl erst mal ein Tutorial suchen, das dir die ersten Schritte mit deinem Toolkit erklärt. Dann biste für solche Probleme vllt besser gewappnet. Das gilt sowohl für GTK als auch für Qt. Und wenn du eine so komplexe Entwicklungsumgebung verwenden willst, schadet es auch nicht, sich mal zeigen zu lassen, wie das Ding überhaupt funktioniert  :Wink: 

Grüße

Franz

----------

## Necoro

 *franzf wrote:*   

> und dann GTK-Applikationen programmieren willst... hmmm. Qt ist nicht sooo kompliziert.

 

also Gtk ist schon einfacher zu verstehen als Qt  :Smile: 

----------

## JoHo42

Hi Leute,

also mit Glade Interface Designer habe ich mir meine drei Buttons zusammenglickt und den C Code abgespeichert.

Dann Anjuta starten, das Project öffnen und alles ist gut.

Anjuta und Glade arbeiten perfect zusammen.

Gruss Jörg

----------

## Earthwings

 *JoHo42 wrote:*   

> 
> 
> /usr/include/gtk-2.0/gtk/gtk.h:31:21: error: gdk/gdk.h: No such file or directory
> 
> /usr/include/gtk-2.0/gtk/gtk.h:32:32: error: gtk/gtkaboutdialog.h: No such file or directory
> ...

 

GTK (und so ziemlich jede Library) erwartet, dass du dem Compiler den Basispfad (hier: /usr/include/gtk-2.0) als Suchpfad mitgibst (-I /usr/include/gtk-2.0/) und gtk.h als "#include <gtk/gtk.h>" einbindest.

----------

## JoHo42

Hi Leute,

so jetzt habe ich da mal ein wenig gespielt mit Anjuta und Glade.

Aber ich brauche da doch noch ein wenig Dokumentation von GTK.

Also irgendwas wo erklaert wird wie man damit umgeht.

Auch die glib und was da so dran haengt.

Ich moechte einfach aus dem Konsolen Programmieren rauskommen und mal

was mit Buttons usw... machen.

Gruss Joerg

----------

## musv

 *JoHo42 wrote:*   

> Aber ich brauche da doch noch ein wenig Dokumentation von GTK

 

http://www.gtk.org/documentation.html

-> Tree Tutorial 

-> Text Tutorial

Hatte mal vor ca. 'nem 3/4 Jahr versucht, etwas GUI-Programmierung unter Linux zu betreiben. Mit GTK bin ich nicht so richtig warm geworden. Zwar hat man mit Glade das Layout ganz schnell und einfach zusammengebaut, aber das ganze Zeug dann mit Funktionen zu bestücken, war etwas zu schwierig für mich.

QT fand ich - wahrscheinlich aufgrund von C++ statt C - schon etwas einsteigerfreundlicher. Der QT stellt auch die vergleichbare Funktionalität wie Glade bereit. 

http://doc.trolltech.com/4.3/tutorial.html

Mit Abstand am schönsten läßt sich aber meiner Meinung nach SWT unter Java programmieren.

http://de.wikipedia.org/wiki/Standard_Widget_Toolkit

Zu dem ganzen Thema hatten wir auch schon mal einen größeren Thread:

https://forums.gentoo.org/viewtopic-t-510393.html

----------

## Necoro

Wenn man mit Python (also PyGTK) programmiert hat man auch eine objektorientierte Sicht

----------

