Pisanie programów w Gtk+ pod Windows

Badmaneq

Jest to mini "how-to" jak napisać aplikację używając biblioteki Gtk+ pod systemem operacyjnym Windows.

Aby zacząć potrzebujemy kompilatora C i bilioteki Gtk+ wraz z towarzyszącymi. Najlepiej pobrać środowisko programistyczne Dev-C++ ( http://www.bloodshed.net/devcpp.html ), które zawiera już kompilator gcc. Biblioteki ściągamy jako paczki do Dev-C++ ze strony http://devpaks.org. Mimo, że to IDE nie jest już rozwijane uruchomi się na "każdym" sprzęcie. Bez problemu działa na Windows 98.
Aktualnie najnowszą paczką dostępną na devpaks.org jest GTK+ 2.20.0, po zainstalowaniu możemy pisać programy pod Gtk+.
Instalacja paczki jest następująca Narzędzia->Package Manager, otworzy się okno mendżera, w którym klikamy na Install i wskazujemy miejsce gdzie się znajduje paczka z Gtk+.
Kiedy zainstalowaliśmy to co jest wymagne możemy utworzyć nowy projekt: Plik->Projekt, ukaże się okno nowego projektu, zmieniamy zakładkę na GUI, wybieramy GTK+, następnie nadajemy odpowiednią nazwę projektu oraz zaznaczmy Projekt C po czym klikamy OK. Wskazujemy gdzie projekt ma być zapisany, tutaj najlepiej utworzyć katalog o takiej nazwie jak nazwa projektu.
Hurrra, pokazało się main.c z wbudowanym kodem zawartym w zainstalowanej paczce, więc tylko pozostaje nam wcisnąć F9 i po chwili ujrzymy efekt w Gtk+ :)

Nowszym środowiskiem programistycznym opratym na Dev-C++ jest wxDev-C++ ( http://wxdsgn.sourceforge.net ) i wciąż rozwijanym. Do złudzenia przypomina Dev-C++, więc instalcja paczek DevPak przebiega identycznie. DevPak'i są dostępne na stronie http://sourceforge.net/projects/wxdsgn/files/devpaks jednak nie znajdziemy tam paczki z biblioteką Gtk+. Oczywiście stare paczki, które są dostępne na http://devpaks.org działają w wxDev-C++.
Na stronie http://sourceforge.net/projects/wxdsgn/files/devpaks dostępna jest paczka PackMaker.DevPak, która zawiera program
PackMacker służący do tworzenia paczek.
Skoro w podanych wcześniej źródłach brakuje nowszej wersji bibliotek Gtk+, należy sobie utworzyć DevPak'a z nowszą wersją tej biblioteki. Na stronie http://www.gtk.org/download/win32.php aktualnie dostępną wersją jest Gtk+ 2.24.8. Ponieważ biblioteka Gtk+ wymaga do działania jeszcze kilka innych bibliotek m. in. glib, pango, cairo proponuję utworzyć jedną paczkę zawierającą wszystkie wymagane. Moim zdaniem najlepszym rozwiązaniem jest pobranie wszystkich w jednym pakiecie stworzonym przez twórców http://ftp.gnome.org/pub/gnome/binaries/win32/gtk+/2.24/gtk+-bundle_2.24.8-20111122_win32.zip.
Należy rozpakować gtk+-bundle_2.24.8-20111122_win32.zip, a następnie uruchomić program PackMacker z zainstalowanej wcześniej paczki. Po uruchomieniu uzupełniamy odpowiednie pola, najważniejsze to "Package Name", wpiszmy tam Gtk+ 2.24.8. Co do kolejnych to pozostawiam pole do popisu twórcą paczki, oczywiście wpisanie w pole "Package Name" wartości Gtk+ 2.24.8 nie jest obligatoryjne, pole to informuje po zainstalowaniu paczki co kryje w sobie zainstalowana paczka.
W sekcji "Files/Directories to install :" należy kliknąc "Add Directory" pojawi się okno, gdzie w "Source" wskazujemy katalog do dodania, w tym przypadku wskazujemy ścieżkę do ktalogu bin rozpakowanej wcześniej gtk+-bundle_2.24.8-20111122_win32.zip. Np. "C:\gtk+-bundle_2.24.8-20111122_win32\bin" i klikamy OK. Podobnie postępujemy z katalogami etc, include, lib, share, czyli "Add Directory", w "Source" wpisujemy "C:\gtk+-bundle_2.24.8-20111122_win32\etc"...
Przed zbudowaniem DevPak'a należałoby jeszcze utworzyć w rozpakowany katalogu gtk+-bundle_2.24.8-20111122_win32 katalog Templates, w którym przynajmniej należy stworzyć plik "GTK+.template". Jest to plik opisujący podstawowe parametry projektu w Dev-C++ parametry kompilacji, wskazanie pliku podsawowego z jakiego ma korzystać nowo tworzony projekt. Najprościej skopiować gotowy katalog z wcześniejszych DevPak'ów Gtk+ :)

FAQ

4 komentarzy

Btw, najnowszym GTK+ jest 3.0.9 :|

Haha, nie no dobry żart. :)

"Najlepiej sciągnąć środowisko programistyczne Dev-C++" po tym zdaniu przestałem czytać...