Jak zainstalować GTK + 3.0 na Windows?

Próbuje skonfigurować GTK + 3.0 na Codeblocks Win7. Mam pewne problemy ze znalezieniem dokładnie jak to zrobić.

Strona GTK przekierowuje Cię do msys2. Wydaje się, że kiedyś na stronie GTK było bezpośrednie pobieranie pakietu Windows all-in-one, którego już nie ma.

Po wykonaniu instrukcji, zainstalowaniu i zaktualizowaniu msys2, nie widzę odniesienia do GTK+, w zainstalowanych plikach ani na stronie mysys, do której kieruje Cię GTK.

Its seems very linuxy in terms of being niepotrzebnie i głupio niejasne, aby zrobić coś, co powinno być proste. Może im czegoś brakuje, ale czy nie powinno to być tak proste, jak pobieranie spakowanego folderu, wyodrębnianie i konfigurowanie ścieżek?

W tym tempie będzie szybciej uczyć się C++ i iść z Qt.

Pytanie jest w tytule, jestem zdumiony, że muszę zadać pytanie, wydaje się, że google powinno całkowicie pokryć, ale wszystko, co znajduję, odnosi się do pobierania, który nie jest już dostępny na strona GTK. Nie mogę znaleźć żadnych informacji dotyczących msys2 i GTK+ 3.0.

Z góry dzięki.

Author: liberforce, 2015-09-19

6 answers

Witajcie, użytkownicy Google z przyszłości! Ponieważ napisałem tę odpowiedź, strona GTK+ teraz ma oficjalne instrukcje instalacji , które obejmują to, co powiedziałem poniżej, ale z więcej szczegółów i mniej bólu. Zamiast tego zapoznaj się z tą stroną. Odpowiedź poniżej została zachowana ze względów historycznych.

Problem ze stroną GTK+ polega na tym, że nie ma nikogo, kto utrzymałby te dystrybucje binarne. Poprzednia Dystrybucja binarna Dla Windows była dla GTK + 3.6, która była wydany, jak sądzę, w 2012 roku, jeśli nie wcześniej. Obecna wersja to 3.16, A 3.18 jest dosłownie dni od wydania. MSYS2 jest jedynym obsługiwanym mechanizmem instalacji i jest wystarczająco często aktualizowany.

To powiedziawszy, musisz zainstalować GTK + oddzielnie, jeśli używasz trasy MSYS; MSYS nie jest dostarczany z GTK+ po wyjęciu z pudełka. Zacznij od

pacman -Ss gtk3

To powinno dać listę możliwych pakietów do zainstalowania, w tym bibliotek GTK+ dla obu 32-bitowy i 64-bitowy MinGW. Zapomniałem ich dokładnych nazw.

Gdy znajdziesz ten, który chcesz, użyj

pacman -S package-name-here

Aby go zainstalować. Następnie otwórz 32-bitową lub 64-bitową powłokę MinGW z folderu MSYS w menu Start, aby rozpocząć tworzenie.

Jeśli potrzebujesz tradycyjnego IDE do programowania GTK+, poszukaj GNOME Builder lub Anjuta. Dla graficznego projektanta GUI poszukaj Glade.

 28
Author: andlabs,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-01-16 03:57:09

Hallelujah, znalazłem wersję sane non linux getting GTK for windows.

Ktoś był na tyle uprzejmy, że przesłał do dropbox pliki GTK, po prostu ściągnął i rozpakował. Oto link dla każdego kto wpadnie w tą katastrofę GTK / msys2.

Https://www.dropbox.com/sh/8d1qbh5dsp044on/UgkALzhlqH

Te pliki naprawdę powinny być dostępne na stronie pobierania GTK Windows, To nie ma sensu.

Zamknij ten wątek, Viva windows.

 8
Author: NOP da CALL,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-18 23:59:43

Zgadzam się, że społeczność GNOME jest trochę bezczelna do tej pory. Zrobili instalację GTK+ prawie taką samą jak instalacja Linuksa, co trochę przypomina dawanie pepsi w mcdonalds.

najgorsze jest to, że zmusza cię do korzystania z własnych bzdur do tego stopnia, że nawet powiedzieć, co IDE wybrać, jak będzie budować swoją aplikację, co będzie w aplikacji.. (Nic osobistego, właściwie zawsze wolę Linuksa, jestem po prostu bezstronny)


Teraz być konkretnie, wyraźnie wspomniałeś o Codeblocks. Nie używaj projektu code:: block GTK+, jest on strasznie przestarzały. Można oczywiście zmodyfikować skrypt lub stworzyć własny, ale nadal będzie aby spowolnić Ciebie i my, programiści cenią nasz czas (tak myślę)

Procedura instalacji (do dziś) GTK3 ver. 3.22.16 w systemie windows 7 do użycia z blokami Code:: okazuje się dość prosty. Najpierw pobierz MSYS2 i wpisz w powłoce msys2:

pacman -S mingw-w64-x86_64-gtk3

(Enter y aby potwierdzić) Then

pacman -S mingw-w64-x86_64-toolchain base-devel (aby upewnić się, że masz wstępnie skompilowane binaria pkg-config i aby upewnić się, że masz najnowszą wersję gcc)

Potem masz trochę pracy w CodeBlocks, najpierw ustaw nowy kompilator, z ustawień kompilatora Codeblocks - > pliki wykonywalne Toolchain. Nowy kompilator powinien znajdować się w C:\msys64\mingw64 (C lub dysk, na którym zainstalowałeś MSYS)

Następnie połącz niektóre biblioteki w Ustawieniach kompilatora Codeblocks - > Szukaj katalogów: Tutaj wpisz opis obrazka Te biblioteki wystarczą do uruchomienia tego prostego przykładowego kodu:

#include <gtk/gtk.h>

static void activate (GtkApplication* app, gpointer user_data)
{
    GtkWidget *window;

    window = gtk_application_window_new(app);
    gtk_window_set_title(GTK_WINDOW (window), "Window");
    gtk_window_set_default_size(GTK_WINDOW(window), 200, 200);
    gtk_widget_show_all(window);
}

int main (int argc, char *argv[])
{
    GtkApplication *app;
    int status;

    app     = gtk_application_new("org.gtk.example", G_APPLICATION_FLAGS_NONE);
    g_signal_connect(app, "activate", G_CALLBACK (activate), NULL);
    status  = g_application_run(G_APPLICATION (app), argc, argv);
    g_object_unref(app);

    return status;
}

I mieć taki wynik:Tutaj wpisz opis obrazka

 2
Author: Edenia,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-17 10:38:42

Kilka dni temu wysłałem maila do jednego z opiekunów gtk o pomoc w vs 2017, a oto list. Po tym, zdecydowałem się użyć gtk 2.0 na windows

This is mine

Zainstalowałem msys2 i zauważyłem, że, jest wiele fille head pod tym folderem .\ msys64 \ mingw64 \ include tak, zastanawiam się czy może bezpośrednio dołączyć te pliki pod msys64 do vs 2017. I niech vs 2017, aby użyć lib w folderze.w ten sposób......

A to jest z on

Po pierwsze, nie polecam korzystania z budów msys, chyba że jesteś pewien że -Nie próbuje się używać struktur plików w kodzie z tymi używany przez GLib itp. - Glibconfig.h, którego używasz, pasuje do glibcocnfig.H. win32 w tarball źródłowy wersji GLib, której używasz, ponieważ wszystko, co jest zbudowane przeciwko Glibowi, będzie miało wpływ na to.

Jeśli nadal zdecydujesz się iść tą trasą, musisz określić biblioteki po linkowaniu. Zobacz też Linker - > Input- > Dodatkowe Zależności, będziesz potrzebował co najmniej następujących informacji .pliki lib, oddzielone średnikami:

Gtk-3.0.lib (lub gtk-3.lib)

Gdk-3.0.lib (lub gdk-3.lib)

Gdk_pixbuf-2.0.lib

Pangocairo-1.0.lib

Pango-1.0.lib

Atk-1.0.lib

Gio-2.0.lib

Gobject-2.0.lib

Gmodule-2.0.lib

Glib-2.0.lib

Cairo-gobject.lib

Kair.lib

Intl.lib

I ewentualnie fontconfig.lib i freetype.lib, jak pewnie msys64 Kompilacje zawierają wsparcie dla nich.

Będziesz musiał również połączyć się z innymi bibliotekami, które możesz wykorzystać do Twoje zadanie. Poprzedzamy te biblioteki znakiem'; ' przed %(AdditionalDependencies) (nie usuwaj %(AdditionalDependencies))

Z błogosławieństwami i zdrówko!

No cóż...spędziłem kilka dni na portowaniu mojego programu do windows, po zmaganiach z gtk 3.x, stwierdziłem, że można używać gtk 2.x aby uniknąć wszystkich te kłopoty. to jakiś stary plik o nazwie " All-in-one bundle " chociaż ważne jest , aby wiedzieć, że, jest pewien problem z bezpieczeństwem z nim, (plus trzeba przepisać go do gtk 2.0) ale jeśli używasz głównie Linuksa i chcesz , aby działał na windows, proponuję ci użycie starego 'All-in-one bundle' dla gtk 2.x na przykład

Https://download.gnome.org/binaries/win32/gtk+/2.24/gtk+-bundle_2.24.10-20120208_win32.zip.mirrorlist

 1
Author: Z-Y00,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-12 12:47:38

Jeśli szukasz projektów, które oprócz Msys2 dostarczają aktualne, kompatybilne z MSVC rzeczy GTK3, powinieneś sprawdzić gvsbuildi Vcpkg firmy Microsoft. Pod maską pierwszy używa Pythona, a późniejszy cmake.

 1
Author: sgeto,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-22 22:54:01

Witam oto pakiet msi Gtk3 dla Windows: (GTK-runtime-3.8.1-i686) https://sourceforge.net/projects/gtk3win/

 -1
Author: DingoNobru,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-28 09:58:33