Forum: PC-Programmierung gtk 3 installiert, kann es aber nicht benutzen


von Mark (Gast)


Lesenswert?

Hallo,
ich habe windows 10 und Eclipse. Jetzt wollte ich gerne mit gtk kleine 
programme programmieren.
Dazu habe ich mit msys2
pacman -S mingw-w64_64-gtk3 ausgeführt

den pfad für pkg-config habe ich in den umgebungsvariablen hinzugefügt

pkg-config --cflags --libs gtk+-3.0 ergab:
-mms-bitfields -pthread -IC:/Tools/msys64/mingw64/include/gtk-3.0 
-IC:/Tools/msys64/mingw64/include/atk-1.0 
-IC:/Tools/msys64/mingw64/include 
-IC:/Tools/msys64/mingw64/include/fribidi 
-IC:/Tools/msys64/mingw64/include/cairo 
-IC:/Tools/msys64/mingw64/include/gdk-pixbuf-2.0 
-IC:/Tools/msys64/mingw64/lib/libffi-3.2.1/include 
-IC:/Tools/msys64/mingw64/include/glib-2.0 
-IC:/Tools/msys64/mingw64/lib/glib-2.0/include 
-IC:/Tools/msys64/mingw64/include/pango-1.0 
-IC:/Tools/msys64/mingw64/include/pixman-1 
-IC:/Tools/msys64/mingw64/include/freetype2 
-IC:/Tools/msys64/mingw64/include/libpng16 
-IC:/Tools/msys64/mingw64/include/harfbuzz -I/mingw64/include 
-Wl,-luuid -LC:/Tools/msys64/mingw64/lib -lgtk-3 -lgdk-3 -lgdi32 -limm32 
-lshell32 -lole32 -lwinmm -ldwmapi -lsetupapi -lcfgmgr32 -lz -latk-1.0 
-lgio-2.0 -lpangowin32-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 
-lcairo-gobject -lpango-1.0 -lcairo -lgobject-2.0 -lglib-2.0 -lintl

Jetzt habe ich in eclipse ein kleines programm geschrieben
1
#include <stdio.h>
2
#include <stdlib.h>
3
#include <gtk/gtk.h>
4
int main(void) {
5
   GtkWidget *window;
6
  return EXIT_SUCCESS;
7
}

aber das lässt sich nicht bauen. Ich bekomme den error
fatal error: gtk/gtk.h: No such file or directory

Wenn ich danach suche, bekomme ich nur Informationen zu Linux.

gibt es sonst noch irgendwelche Einstellungen, die ich vornehmen muss`?

von Dr. Sommer (Gast)


Lesenswert?

Eclipse unterstützt leider kein pkg-config. Du musst die ganzen Pfade 
manuell in die Projekt Einstellungen übertragen, oder ein eigenes 
Makefile schreiben.

von Mark (Gast)


Lesenswert?

Dr. Sommer schrieb:
> Eclipse unterstützt leider kein pkg-config. Du musst die ganzen Pfade
> manuell in die Projekt Einstellungen übertragen, oder ein eigenes
> Makefile schreiben.

Wo denn genau? Als PATH-Variable?

Warum wirt gtk nur so wenig unter windows und eclipse benutzt? Man 
findet im internet fast gar keine Beiträge. Einer ist bei stackoverflow. 
Dort war auch die Frage nach gtk+3 unter eclipse und Windows 10, aber 
leider gar keine Antwort.

von Dr. Sommer (Gast)


Lesenswert?

Mark schrieb:
> Wo denn genau? Als PATH-Variable?

Nee, die ist nur zum Suchen von ausführbaren Dateien (exe/dll). Da musst 
du den Pfad zu den Gtk-Dlls eintragen (hat der Installer ggf. schon 
gemacht).

Die Pfade zum Kompilieren/Linken einstellen geht in den 
Projekteinstellungen unter C/C++ General -> Paths and Symbols:
- Tab "Includes" - hier die -Ixxx Pfade eintragen (ohne das -I)
- Tab "Symbols" - hier die -Dxxx Symbole eintragen (falls vorhanden) 
(ohne das -D)
- Tab "Library Paths" - Hier die -Lxxx Pfade eintragen (ohne das -L)
- Tab "Libraries" - Hier die -lxxx Bibliotheken eintragen (ohne das -l)

Das ist recht lästig, und wenn du die Gtk+ Installation änderst musst du 
das ggf. von vorne machen. Das Projekt lässt sich dann auch nicht 
einfach auf einem anderen PC kompilieren, bei dem die Pfade anders sind. 
In einem makefile kannst du halt ganz einfach `pkg-config` aufrufen. Es 
gibt pkg-config Plugins für Eclipse, wie gut die funktionieren weiß ich 
nicht.

Mark schrieb:
> Warum wirt gtk nur so wenig unter windows und eclipse benutzt?
Ist irgendwie unbeliebt, gab auch lange Zeit nicht mal einen Installer 
dazu. Unter Windows verwendet man für GUIs lieber C# oder C++ mit Visual 
Studio, oder Qt.

Mark schrieb:
> Man
> findet im internet fast gar keine Beiträge.
Wenn Gtk+ und pkg-config an sich funktionieren, ist das mit Eclipse 
genau wie unter Linux. Teste es erstmal manuell auf der Konsole mit 
pkg-config, bevor du die Pfade in das Eclipse Projekt reinfummelst.

von Sven B. (scummos)


Lesenswert?

Wenn ich mich recht erinnere, war vor ein paar Jahren so mehr oder 
weniger die Ansage da, dass gtk3 sich im Wesentlichen für Gnome 
interessiert und andere Plattformen wie z.B. Windows nicht mehr so im 
Fokus stehen ...

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.