Как установить gtk на windows

Обновлено: 03.07.2024

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

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

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

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

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

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

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

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

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

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

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

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

Аллилуйя, я нашел нормальную версию Linux для Linux без GTX.

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

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

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

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

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

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

Процедура установки (по сей день) 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)

enter image description here

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

enter image description here

и иметь такой результат:

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

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

Прежде всего, я не рекомендую использовать сборки msys, если вы не уверены, что вы не пытаетесь использовать структуры FILE в своем коде с теми, которые используются GLib и т.д. - 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 включают их поддержку.

Вам также нужно будет ссылаться на любые другие библиотеки, которые вы можете использовать для своего задания. Добавьте перед этими библиотеками завершающий ; Перед %(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 например

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

Использую Windows7 32, Возникла проблема с установкой GTK+ делаю все как сказано в мануале на офф сайте, проблема возникла уже на втором шаге. Установил MSYS2 и MinGW. MinGW устанавливаю не первый раз поэтому с ним все точно в порядке а вот с MSYS2 или самим GTK+ ничего не пойму.(кстати как я понял MSYS2 отдельно устанавливать не нужно он вроде идет вместе с MinGW) Проблема в том что при установке GTK+ командой pacman -S mingw-w64-x86_64-gtk3 в MSYS2 shell, все вроде устанавливается правильно но когда начинаю проверять видит ли команда pkg-config библиотеки и заголовочные файлы GTK то в ответ шелл мне пишет $ pkg-config --cflags --libs gtk+-3.0 bash: pkg-config: команда не найдена В чем может быть проблема? P.S. В переменные среды добавил пути к MinGW, MSYS2 и GTK.

Установите утилиту pkg-config в MSYS2. pacman -S pkg-config

После долгих мучений с установкой и компиляцией GTK под MinGW составил небольшой мануал оставлю его в ответе может кому пригодится.

  1. Install MinGW (with MSYS)
  2. Download GTK ("google: " gtk all-in-one bundle) "https://sourceforge.net/projects/gtk-mingw/"
  3. Add PATH to MinGW
    C:\MinGW\bin;
    C:\MinGW\MSYS\1.0\local\bin;
    C:\MinGW\MSYS\1.0\bin;
  4. Copy all of folder with "gtk all-in-one bundle" to "C:\GTK"
  5. Add PATH to GTK
    C:\GTK\bin;
  6. Create "C" file (C:\MinGW\msys\1.0\home\Admin) [if "\home\username\" not exist, create them]
  7. Open C:\MinGW\msys\1.0 msys.bat
  8. gcc gtk.c -o gtk `pkg-config --cflags --libs gtk+-3.0`

Рекомендую установить MSYS2 и делать так, как написано тут:

Я делал это для множества компов и систем. Проблем ни разу не возникло. Если все делать по приведенному ману, то GTK+ устанавливается со всеми зависимостями, библиотеками и компилятором. Можно одновременно поставить GTK+ как для x64, так и для x86.

Для того, чтобы сделать проект GTK+ лично я использую самый последний Code::Blocks. Ставил его отдельно. Желательно ставить версию с компилятором.

Сам дефолтный компилятор MinGW x32 нужен не будет, но вот его вкладка в настройках компилятора понадобиться для быстрого создания и настройки нового компилятора MinGW, который будет использоваться для сборки проектов GTK+.

Очень рекомендую использовать новый компилятор, который лежит в папке msys/mingw32 или msys/mingw64, в зависимости от целевой платформы, под которую собираетесь компилировать. Это избавит от необходимости прописывать миллиарды путей и флагов для каждого проекта, так как все зависимости и файлы нового компилятора лежат рядом с файлами GTK+, включая dll, lib, h и множество других ресурсов.

Сперва вам необходимо добавить новый компилятор. Это проще всего сделать так:

  • Скопировать вкладку стандартного компилятора, нажав Copy, обозвав новый компилятор, например GTK+ 3 MinGW x64;
  • Перейти во вкладку toolchain и задать пути по аналогии с:

введите сюда описание изображения

После того, как вы добавите компилятор и укажите в toolchain пути к exe-шникам, вам необходимо создать новый проект Console application.

Для того, чтобы компилятор понял, что ваша консоль - это проект GTK+ совсем не обязательно прописывать тонны путей в настройках проекта или в переменных окружения, достаточно лишь указать два флага.

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

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

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

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

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

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

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

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

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

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

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

Если вы хотите традиционную IDE для программирования GTK+, найдите Gnome Builder или Anjuta. Для графического дизайнера GUI, посмотрите Поляну.

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

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

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

закрыть нить, Вива-окна.

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

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

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

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

pacman -S mingw-w64-x86_64-gtk3

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

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

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

enter image description here

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

enter image description here

и получите такой результат:

несколько дней назад я отправляю электронное письмо одному из сопровождающих gtk для помощи с vs 2017, и вот письмо. После этого я решил использовать gtk 2.0 в windows

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

во-первых, я не рекомендую использовать сборки msys, если вы не уверены что -Вы не пытаетесь использовать файловые структуры в своем коде с теми используется GLib и т. д. -В glibconfig.h, который вы используете, соответствует glibcocnfig.ч. Win32 в исходный tarball версии GLib, которую вы используете, потому что все, что построено против GLib, будет затронуто им.

Если вы все же решите пойти по этому маршруту, вам нужно указать библиотеки, когда вы соединяетесь. См. Компоновщик - >Ввод - >Дополнительные Зависимости, вам понадобится, по крайней мере, следующее .lib файлы, разделенные точкой с запятой:

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

gdk-3.0.lib (или ГДК-3.lib)

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

вы также потребуется ссылка на любые другие библиотеки, которые вы можете использовать для ваше задание. Добавьте эти библиотеки с помощью трейлинга'; ' перед %(AdditionalDependencies) (не удалять %(AdditionalDependencies))

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

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

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


Прежде чем начать, создайте новое Xamarin.Forms решение или используйте существующее Xamarin.Forms решение, например гамеофлифе.

Добавление приложения GTK

в Visual Studio 2019 щелкните правой кнопкой мыши имя решения в обозреватель решений и выберите добавить > создать Project. .

Добавьте новый проект GTK.

в обозреватель решений щелкните правой кнопкой мыши новый проект GTK и выберите пункт управление NuGet пакетами. Перейдите на вкладку Обзор и выполните поиск Xamarin.Forms 3,0 или более.

выберите пакет. no-loc (Xamarin. forms). NuGet.

Выберите пакет и нажмите кнопку " установить ".

Теперь найдите Xamarin.Forms . Пакет Platform. GTK 3,0 или более поздней версии.

Выберите. No-Loc (Xamarin. Forms). пакет Platform. GTK NuGet.

Выберите пакет и нажмите кнопку " установить ".

в обозреватель решений щелкните правой кнопкой мыши имя решения и выберите пункт управление пакетами NuGet для решения. Выберите вкладку Обновление и Xamarin.Forms пакет. Выберите все проекты и обновите их до той же Xamarin.Forms версии, которая используется в проекте GTK.

Сослаться на общий проект.

В диалоговом окне Диспетчер ссылок нажмите кнопку Обзор и перейдите в папку C:\Program Files (x86) \GtkSharp\2.12\lib и выберите atk-sharp.dll, gdk-sharp.dll, glade-sharp.dll, glib-sharp.dll, gtk-dotnet.dll и gtk-sharp.dll файлов.

В проекте GTK переименуйте Class1. CS в Program. CS.

В проекте GTK измените файл Program. CS , чтобы он соответствовал следующему коду:

В Обозреватель решений щелкните правой кнопкой мыши проект GTK и выберите пункт свойства.

в окне свойства перейдите на вкладку приложение и измените раскрывающийся список тип выходных данных на Windows приложение.

Измените тип выходных данных проекта.

В Обозреватель решений щелкните правой кнопкой мыши проект GTK и выберите назначить Project запуска. нажмите клавишу F5, чтобы запустить программу с помощью отладчика Visual Studio на рабочем столе Windows:

в Visual Studio для Mac щелкните решение правой кнопкой мыши Xamarin.Forms и выберите добавить > добавить новый Project. .

Введите имя проекта с расширением GTK , например гамеофлифе. GTK, и нажмите кнопку создать.

в Панель решения щелкните правой кнопкой мыши пакеты > добавить пакеты. для проекта GTK и добавьте Xamarin.Forms пакет NuGet предварительной версии 3,0 или выше.

выберите пакет. no-loc (Xamarin. forms). NuGet.

В панель решения щелкните правой кнопкой мыши пакеты > добавить пакеты. для проекта GTK и добавьте Xamarin.Forms . пакет NuGet предварительной версии Platform. GTK 3,0 или выше.

Выберите. No-Loc (Xamarin. Forms). пакет Platform. GTK NuGet.

Обновите другие проекты платформы для использования той же Xamarin.Forms версии, которая используется в проекте GTK.

Сослаться на общий проект.

Измените файл Program. CS проекта GTK, чтобы он соответствовал следующему коду:

В панель решения щелкните правой кнопкой мыши проект GTK и выберите назначить Project запуска.

на панели инструментов Visual Studio для Mac нажмите кнопку пуск (треугольная кнопка, напоминающая кнопку воспроизведения), чтобы запустить приложение.

Next Steps

Особенности платформы

В XAML можно использовать OnPlatform тег для выбора значения свойства, характерного для платформы:

Значок приложения

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

Собственные формы

Дополнительные сведения о собственных формах см. в разделе собственные формы.

Проблемы

Это предварительная версия, поэтому следует рассчитывать на то, что все готово к производству. Сведения о текущем состоянии реализации см. в разделе состояние, а сведения о текущих известных проблемах см. в разделе ожидающие & известные проблемы.

Читайте также: