Подтвердить что ты не робот

Как установить GTK + 3.0 в Windows?

Попытка настроить GTK + 3.0 на Codeblocks Win7. Имея некоторые проблемы с поиском, как это сделать.

Сайт GTK направляет вас на msys2. Кажется, что когда-то была прямая загрузка на сайте GTK для пакета Windows all-in-one, которого больше нет.

Следуя инструкциям, установленным и обновленным msys2, я не вижу ссылки на GTK +, в установленных файлах или на веб-сайте mysys, к которому вы направляете GTK.

Похоже, что он очень лишен смысла в том, что он излишне и глупо нечетко делает что-то, что должно быть простым. Может быть, им что-то не хватает, но разве это не так просто, как загрузка ZIP-папки, извлечение и настройка путей?

При такой скорости id будет быстрее изучать С++ и идти с Qt.

Вопрос в заголовке, я удивлен, что мне нужно задать вопрос, кажется, что Google должен был полностью охватить, но все, что я нахожу, связано с загрузкой, которая больше не доступна на веб-сайте GTK, Я не могу найти информацию о msys2 и GTK + 3.0.

Спасибо заранее.

4b9b3361

Ответ 1

Добро пожаловать, пользователи Google из будущего! С тех пор как я написал этот ответ, на сайте GTK+ теперь есть официальные инструкции по установке, которые охватывают то, что я сказал ниже, но с большим количеством деталей и меньшим количеством боли. Вместо этого обратитесь к этой странице. Ответ ниже был сохранен по историческим причинам.

Проблема с сайтом GTK+ заключается в том, что нет никого, кто бы поддерживал эти двоичные дистрибутивы. Предыдущий бинарный дистрибутив для Windows был для GTK+ 3.6, который был выпущен, я думаю, еще в 2012 году, если не раньше. Текущая версия 3.16, а 3.18 буквально через несколько дней после выпуска. MSYS2 - единственный поддерживаемый механизм установки, и он обновляется достаточно часто.

При этом вам необходимо установить GTK+ отдельно, если вы используете маршрут MSYS; MSYS не поставляется с GTK+ из коробки. Начать с

pacman -Ss gtk3

Это должно дать вам список возможных пакетов для установки, включая библиотеки GTK+ для 32-битных и 64-битных MinGW. Я забыл их точные имена сейчас.

Как только вы найдете тот, который вы хотите, используйте

pacman -S package-name-here

установить его. Затем откройте MinGW 32-разрядную или 64-разрядную оболочку из папки "Пуск" MSYS, чтобы начать разработку.

Если вам нужна традиционная среда разработки для программирования GTK+, найдите GNOME Builder или Anjuta. Для графического дизайнера GUI, ищите Glade.

Ответ 2

Аллилуйя, я нашел разумную версию linux для получения GTK для Windows.

Кто-то был достаточно любезен, чтобы загрузить в Dropbox файлы GTK, просто загрузить и извлечь. Вот ссылка для всех, кто сталкивается с этой катастрофой GTK/msys2.

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

Эти файлы действительно должны быть доступны на странице загрузки GTK для Windows, и это порождает веру.

Закройте эту ветку, окна viva.

Ответ 3

Я согласен, что сообщество GNOME сейчас немного дерзко. Они сделали установку GTK + почти такой же, как и установка Linux, что немного напоминает предоставление pepsi в mcdonalds.

Хуже всего то, что он заставляет вас использовать свою собственную дерьмо в той мере, в которой они даже говорят вам, какую IDE выбрать, как вы будете создавать свое приложение, что будет в вашем приложении. (Ничего личного, я буду на самом деле всегда предпочитаю Linux, я просто непредвзято)


Теперь, чтобы быть конкретным, вы явно упомянули Codeblocks. Не используйте код:: block GTK + Project, он ужасно устарел. Вы можете, конечно, изменить script или создать свой собственный, но он все еще продолжается чтобы замедлить вас, и мы, программисты, ценим наше время (думаю)

Процедура установки (по сей день) GTK3 ver. 3.22.16 на Windows 7 для использования с Code:: Blocks оказывается довольно простым. Сначала загрузите MSYS2 и введите внутри оболочки msys2:

pacman -S mingw-w64-x86_64-gtk3

(Введите y для подтверждения) Тогда

pacman -S mingw-w64-x86_64-toolchain base-devel (чтобы убедиться, что у вас есть предварительно скомпилированные двоичные файлы pkg-config и убедитесь, что у вас будет последняя версия gcc)

Затем у вас есть работа в CodeBlocks, сначала установите новый компилятор из параметров компилятора Codeblocks → исполняемые файлы Toolchain. Новый компилятор должен быть расположен в C:\msys64\mingw64 (C или диск, на котором установлен MSYS)

Затем свяжите некоторые библиотеки в настройках компилятора Codeblocks → Каталоги поиска: введите описание изображения здесь Этих библиотек будет достаточно, чтобы запустить этот простой пример кода:

#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;
}

и получим такой результат: введите описание изображения здесь

Ответ 4

Несколько дней назад я отправил электронное письмо одному из тех, кто поддерживает gtk, чтобы помочь с vs 2017, и вот письмо. После этого я решил использовать GTK 2.0 на Windows

Это мое

Я установил msys2 и заметил, что в этой папке много .\msys64\mingw64\include Итак, мне интересно, могу ли я напрямую включить эти файлы из msys64 по сравнению с 2017. И пусть vs 2017 использует lib в папке. Вот так......

и это от него

Во-первых, я не рекомендую использовать сборки msys, если вы не уверены, что -You не пытается использовать структуры FILE в вашем коде с теми, которые используются GLib и т.д. -The glibconfig.h который вы используете совпадения glibcocnfig.h.win32 в исходном архиве используемой вами версии GLib, потому что все, что построено на GLib, будет затронуто этим.

Если вы все же решите пойти по этому пути, вам нужно указать библиотеки при ссылке. Смотрите Linker->Input->Additional Dependencies, вам понадобятся как минимум следующие .lib files, разделенные точкой с запятой:

gtk-3.0.lib (или gtk-3.lib)

gdk-3.0.lib (или gdk-3.lib)

gdk_pixbuf-2.0.lib

pangocairo-1.0.lib

Панго-1.0.lib

атк-1.0.lib

Gio-2.0.lib

GObject-2.0.lib

GModule-2.0.lib

бойкий-2.0.lib

каир-gobject.lib

cairo.lib

intl.lib

и, возможно, fontconfig.lib и freetype.lib, так как, вероятно, сборки msys64 включают их поддержку.

Вам также нужно будет ссылаться на любые другие библиотеки, которые вы можете использовать для своего задания. Добавьте эти библиотеки в конце ; before %(AdditionalDependencies) (don't remove %(AdditionalDependencies))

С благословением и ура!

Ну... я потратил несколько дней, чтобы перенести мою программу в windows, после борьбы с gtk 3.x, я обнаружил, что вы можете использовать gtk 2.x чтобы избежать всех этих проблем. Это старый файл под названием All-in-one bundle хотя важно знать, что с ним есть некоторые проблемы с безопасностью (плюс вам нужно переписать его в gtk 2.0), но если вы в основном используете linux, и просто хотите для запуска на windows, я предлагаю вам использовать старый All-in-one bundle для gtk 2.x например

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

Ответ 5

Если вы ищете проекты, которые, помимо Msys2, предоставляют новейшие, совместимые с MSVC GTK3, вы должны проверить gvsbuild и Microsoft vcpkg. Под капотом первый использует python, а последний - cmake.