Перейти к содержимому

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

  • автор:

Проблемы с установкой GTK+ на Windows

Использую 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.

Отслеживать
задан 28 авг 2017 в 15:26
user245380 user245380
Установите утилиту pkg-config в MSYS2. pacman -S pkg-config
31 авг 2017 в 12:27

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

После долгих мучений с установкой и компиляцией 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`

Отслеживать
ответ дан 14 ноя 2017 в 9:27
user245380 user245380
Поддерживаю aio. Отделно ставить адово
23 янв 2019 в 22:49

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

https://www.gtk.org/download/windows.php 

Я делал это для множества компов и систем. Проблем ни разу не возникло. Если все делать по приведенному ману, то 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+ совсем не обязательно прописывать тонны путей в настройках проекта или в переменных окружения, достаточно лишь указать два флага.

Compiler settings->Other compiler options:

`pkg-config gtk+-3.0 --cflags` 

Linker settings->Other linker options:

`pkg-config gtk+-3.0 --libs` 

Далее, если следующий код скомпилируется, все удалось:

#include int main(int argc, char *argv)

Настройка платформы GTK#

Xamarin.Forms теперь поддерживает предварительную версию для приложений GTK#. GTK# — это графический набор средств пользовательского интерфейса, который связывает набор средств GTK+ и различные библиотеки GNOME, позволяя разрабатывать полностью собственные графические приложения GNOME с помощью Mono и .NET. В этой статье показано, как добавить проект GTK# в Xamarin.Forms решение.

Xamarin.Forms поддержка GTK# предоставляется сообществом. Дополнительные сведения см. в разделе Xamarin.Forms Поддержка платформы.

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

Хотя эта статья посвящена добавлению Xamarin.Forms приложения GTK# в решение в VS2017 и Visual Studio для Mac, его также можно выполнить в MonoDevelop для Linux.

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

GTK# для macOS и Linux устанавливается как часть Mono. GTK# для .NET можно установить в Windows с помощью установщика GTK#.

  • Visual Studio
  • Visual Studio для Mac

Следуйте этим инструкциям, чтобы добавить приложение GTK#, которое будет выполняться на рабочем столе Windows:

  1. В Visual Studio 2019 щелкните правой кнопкой мыши имя решения в Обозреватель решений и выберите команду Добавить > новый проект. .
  2. В окне Новый проект слева выберите Visual C# и Классический рабочий стол Windows. В списке типов проектов выберите Библиотека классов (платформа .NET Framework) и убедитесь, что для раскрывающегося списка Платформа задано не менее платформа .NET Framework 4.7.
  3. Введите имя проекта с расширением GTK , например GameOfLife.GTK. Нажмите кнопку Обзор , выберите папку, содержащую другие проекты платформы, и нажмите кнопку Выбрать папку. При этом проект GTK будет помещен в тот же каталог, что и другие проекты в решении. Добавление нового проекта GTKНажмите кнопку ОК , чтобы создать проект.
  4. В Обозреватель решений щелкните правой кнопкой мыши новый проект GTK и выберите Управление пакетами NuGet. Перейдите на вкладку Обзор и найдите Xamarin.Forms 3.0 или более поздней версии. Xamarin.Forms Выберите Пакет NuGetВыберите пакет и нажмите кнопку Установить .
  5. Теперь найдите Xamarin.Forms. Пакет Platform.GTK 3.0 или более поздней версии. Xamarin.FormsВыберите . Пакет NuGet Platform.GTKВыберите пакет и нажмите кнопку Установить .
  6. В Обозреватель решений щелкните правой кнопкой мыши имя решения и выберите Управление пакетами NuGet для решения. Выберите вкладку Обновление и Xamarin.Forms пакет. Выберите все проекты и обновите их до той же Xamarin.Forms версии, которая используется проектом GTK.
  7. В Обозреватель решений щелкните правой кнопкой мыши элемент Ссылки в проекте GTK. В диалоговом окне Диспетчер ссылок выберите Проекты слева и проверка флажок рядом с проектом .NET Standard или Общим: Ссылка на общий проект
  8. В диалоговом окне Диспетчер ссылок нажмите кнопку Обзор и перейдите в папку 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# СправочникНажмите кнопку ОК , чтобы добавить ссылки.
  9. В проекте GTK переименуйте Class1.cs в Program.cs.
  10. В проекте GTK измените файл Program.cs , чтобы он выглядел следующим образом:

using System; using Xamarin.Forms; using Xamarin.Forms.Platform.GTK; namespace GameOfLife.GTK < class MainClass < [STAThread] public static void Main(string[] args) < Gtk.Application.Init(); Forms.Init(); var app = new App(); var window = new FormsWindow(); window.LoadApplication(app); window.SetApplicationTitle("Game of Life"); window.Show(); Gtk.Application.Run(); >> > 

Этот код инициализирует GTK# и Xamarin.Forms, создает окно приложения и запускает приложение.

  • В Обозреватель решений щелкните правой кнопкой мыши проект GTK и выберите Свойства.
  • В окне Свойства выберите вкладку Приложение и измените раскрывающийся список Тип вывода на Приложение Windows. Изменение типа выходных данных проекта
  • В Обозреватель решений щелкните правой кнопкой мыши проект GTK и выберите Пункт запускаемый проект. Нажмите клавишу F5, чтобы запустить программу с помощью отладчика Visual Studio на рабочем столе Windows: GTK# Игра жизни
  • Следуйте этим инструкциям, чтобы добавить приложение GTK#, которое будет выполняться на компьютере Mac:

    1. В Visual Studio для Mac щелкните решение правой Xamarin.Forms кнопкой мыши и выберите добавить > новый проект. .
    2. В окне Новый проект выберите Другой > проект .NET > Gtk# 2.0 и нажмите кнопку Далее.
    3. Введите имя проекта с расширением GTK , например GameOfLife.GTK, и нажмите кнопку Создать.
    4. На панели решения щелкните правой кнопкой мыши пункт Пакеты > Добавить пакеты. для проекта GTK и добавьте Xamarin.Forms пакет NuGet предварительной версии 3.0 или более поздней версии. Xamarin.Forms Выберите Пакет NuGet
    5. На панели решения щелкните правой кнопкой мыши пакет Добавить > пакеты. для проекта GTK и добавьте Xamarin.Forms. Предварительный выпуск пакета NuGet Platform.GTK 3.0 или более поздней версии. Xamarin.FormsВыберите . Пакет NuGet Platform.GTK
    6. Обновите другие проекты платформы, чтобы использовать ту же Xamarin.Forms версию, что и проект GTK.
    7. На панели решения щелкните правой кнопкой мыши Ссылку > Изменить ссылки. для проекта GTK и добавьте ссылку Xamarin.Forms на проект (.NET Standard или Общий проект). Ссылка на общий проект
    8. Измените файл Program.cs проекта GTK так, чтобы он выглядел следующим образом:

    using System; using Xamarin.Forms; using Xamarin.Forms.Platform.GTK; namespace GameOfLife.GTK < class MainClass < [STAThread] public static void Main(string[] args) < Gtk.Application.Init(); Forms.Init(); var app = new App(); var window = new FormsWindow(); window.LoadApplication(app); window.SetApplicationTitle("Game of Life"); window.Show(); Gtk.Application.Run(); >> > 

    GTK# Игра жизни

    Этот код инициализирует GTK# и Xamarin.Forms, создает окно приложения и запускает приложение.

  • На панели решения щелкните правой кнопкой мыши проект GTK и выберите Пункт запускаемый проект.
  • На панели инструментов Visual Studio для Mac нажмите кнопку Пуск (треугольная кнопка, похожая на кнопку Воспроизведения), чтобы запустить приложение.
  • Next Steps

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

    Вы можете определить, на какой платформе выполняется приложение Xamarin.Forms , с помощью XAML или кода. Это позволяет изменять характеристики программы при выполнении в GTK#. В коде сравните значение Device.RuntimePlatform с константой Device.GTK (которая равна строке GTK). Если совпадение есть, приложение выполняется в GTK#.

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

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

    Я не понимаю где взять файлы которые нужно положить в компилятор т.е. на официальном сайте объеснение начинается со слов «Загрузите установщик MSYS2 , соответствующий вашей платформе, и следуйте инструкциям по установке.» , это я сделал, а дальше написано «Установите GTK3 и его зависимости.», но никто не объясняет как в гугле ничего нету, у всех уже эти файлы уже есть, а я не понимаю где их взять. Помогите пожалуйста.

    • Вопрос задан более двух лет назад
    • 1661 просмотр

    Комментировать
    Решения вопроса 0
    Ответы на вопрос 2
    Артём Свешников @zenitfan2109

    Windows и MSYS2:
    pacman -S base-devel mingw-w64-i686-toolchain mingw-w64-i686-gtk3
    второй вариант:
    pacman -S base-devel mingw-w64-x86_64-toolchain mingw-w64-x86_64-gtk3

    Ответ написан более двух лет назад
    Нравится 1 2 комментария
    nevantain @nevantain Автор вопроса
    Еще раз повторяю мре нужно где.то взять исходники которые потом нужно вставить в файлы компилятора.

    hint000

    где.то взять исходники

    60612545b534c932930282.png

    NeiroNx

    Программист

    для линукс все есть в стандартных репозиториях и ставится достаточно просто:
    sudo apt-get install libgtk-3-dev

    А как по-нормальному установить GTK3 на Windows?

    Вариант с msys это не здорово. Вот сделал я приложение на gtk (на .net), хочу чтобы можно было и в linux и в windows запускать. И честно говоря, предлагать тем, кто будет пользоваться им, инструкцию вида «скачайте msys2, там вбейте такую-то команду, добавьте путь в PATH, после чего вы сможете запустить мое кросплатформенное приложение» это не здорово.

    cvs-255 ★★★★★
    07.12.18 15:36:26 MSK
    1 2 →

    собери dll-ки gtk+ и всех нужных либ, добавь их в архив/инсталлятор твоего приложения и никаких инструкций не надо.

    eternal_sorrow ★★★★★
    ( 07.12.18 15:38:57 MSK )
    Ответ на: комментарий от eternal_sorrow 07.12.18 15:38:57 MSK

    А нету готового пакета?

    cvs-255 ★★★★★
    ( 07.12.18 15:43:19 MSK ) автор топика
    Ответ на: комментарий от cvs-255 07.12.18 15:43:19 MSK

    eternal_sorrow ★★★★★
    ( 07.12.18 15:44:17 MSK )

    Нужно было брать Qt.

    RazrFalcon ★★★★★
    ( 07.12.18 15:45:22 MSK )
    Ответ на: комментарий от eternal_sorrow 07.12.18 15:44:17 MSK

    Что-то не нахожу(

    А потом еще все такие удивляются, а что это приложения на чисто виндовом WPF пишут, а не на таком хорошем и опенсорсном gtk. Потому что поставить gtk на винду это мозготрах. Почему нельзя было сделать виндовый msi для библиотеки и заголовочных файлов?

    cvs-255 ★★★★★
    ( 07.12.18 15:51:51 MSK ) автор топика
    Последнее исправление: cvs-255 07.12.18 15:53:59 MSK (всего исправлений: 2)

    Ответ на: комментарий от RazrFalcon 07.12.18 15:45:22 MSK

    А вот и невероятно ценные советы подъехали. Старый добрый ЛОР.

    meliafaro ★★★★★
    ( 07.12.18 15:53:36 MSK )
    Ответ на: комментарий от meliafaro 07.12.18 15:53:36 MSK

    Это действительно ценный совет, так как официальных сборок у gtk для windows нет.

    Самое разумное написать авторам rawtherapee и darktable и попытаться выяснить у них, как они осуществляли сборку с gtk3 под виндоус. Остальные разработчики ряда софтину давно забили на портирование для виндоус из-за того, что из софтины используют gtk3.

    grem ★★★★★
    ( 07.12.18 15:57:33 MSK )
    Ответ на: комментарий от cvs-255 07.12.18 15:43:19 MSK

    Не благодари.
    Кстати, на троечку так и не перешёл, разрабатываю под двойку. Со своими бурлениями подзабросил самого себя. =)

    Deleted
    ( 07.12.18 15:58:00 MSK )
    Ответ на: комментарий от Deleted 07.12.18 15:58:00 MSK

    Он ж написал, что это не здорово.

    grem ★★★★★
    ( 07.12.18 15:59:22 MSK )
    Ответ на: комментарий от cvs-255 07.12.18 15:43:19 MSK
    xDShot ★★★★★
    ( 07.12.18 16:00:19 MSK )
    Ответ на: комментарий от cvs-255 07.12.18 15:51:51 MSK

    А потом еще все такие удивляются, а что это приложения на чисто виндовом WPF пишут, а не на таком хорошем и опенсорсном

    Qt for Python, например.

    Потому что никто не пишет кроссплатформенные графические приложения на .NET, Microsoft это не интересно.
    Gtk# разрабатывался в рамках Mono, кой сейчас в Microsoft. Конец немного предсказуем.
    И зачем тогда пытаться ставить GTK+?

    Darth_Revan ★★★★★
    ( 07.12.18 16:00:32 MSK )
    Последнее исправление: Darth_Revan 07.12.18 16:09:36 MSK (всего исправлений: 5)

    Ответ на: комментарий от cvs-255 07.12.18 15:51:51 MSK

    будь программистом. Собери и заапрувь на chocolatey.org

    Deleted
    ( 07.12.18 16:03:04 MSK )
    Ответ на: комментарий от cvs-255 07.12.18 15:51:51 MSK

    Почему нельзя было сделать виндовый msi для библиотеки и заголовочных файлов?

    Потому, что гному плевать на винду (и мак). Ваш КО.

    RazrFalcon ★★★★★
    ( 07.12.18 16:06:05 MSK )
    Ответ на: комментарий от grem 07.12.18 15:59:22 MSK

    Готового инсталлятора «under Windows» нет.

    Deleted
    ( 07.12.18 16:12:45 MSK )
    Ответ на: комментарий от Darth_Revan 07.12.18 16:00:32 MSK

    GNOME Foundation занимается организацией конференций и хакфестов а также раздает зарплату временно избранной дирекции и сисадминам. Разработкой GNOME занимается сообщество, каждый участник которого действует абсолютно независимо в своей компетенции.

    Deleted
    ( 07.12.18 16:15:48 MSK )
    Ответ на: комментарий от Deleted 07.12.18 16:12:45 MSK

    Я знаю что нет, поэтому gtk3 за пределами linux почти никому и не нужен.

    grem ★★★★★
    ( 07.12.18 16:16:07 MSK )
    Ответ на: комментарий от meliafaro 07.12.18 15:53:36 MSK

    А вот и невероятно ценные советы подъехали.

    *делая вид, что не понимает сарказма*

    Если б ТС выбрал Qt*, то его бы в начале треда сразу послали на https://qt.io/download и /thread

    * Хотя скорее всего сего треда и не было бы вообще.

    KennyMinigun ★★★★★
    ( 07.12.18 16:18:14 MSK )
    Deleted
    ( 07.12.18 16:19:03 MSK )
    Ответ на: комментарий от xDShot 07.12.18 16:00:19 MSK

    Счастливой оффлайн установки.

    Хотя мне и фееричную онлайн установку mingw удалось наблюдать — человек полчаса на это потратил (не знаю почему), вместо того, чтобы просто скачать архив mingw-w64 и распаковать его.

    grem ★★★★★
    ( 07.12.18 16:19:33 MSK )
    Последнее исправление: grem 07.12.18 16:19:49 MSK (всего исправлений: 1)

    Ответ на: комментарий от Deleted 07.12.18 16:19:03 MSK

    grem ★★★★★
    ( 07.12.18 16:20:43 MSK )

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

    Deleted
    ( 07.12.18 16:26:26 MSK )

    Я CPack-ом копирую dll-ки из MSYS, CMakeLists.txt.

    Сам MSYS ставлю отсюда http://www.msys2.org/ с pacman-ом.

    Хз, есть ли способ проще.

    backbone ★★★★★
    ( 07.12.18 16:32:01 MSK )
    Последнее исправление: backbone 07.12.18 16:32:36 MSK (всего исправлений: 1)

    Ответ на: комментарий от Darth_Revan 07.12.18 16:00:32 MSK

    Потому что WPF под mono нет и не планируется.

    cvs-255 ★★★★★
    ( 07.12.18 16:41:20 MSK ) автор топика
    Ответ на: комментарий от Darth_Revan 07.12.18 16:00:32 MSK

    Тем не менее, в nuget gtk# таки добавили

    cvs-255 ★★★★★
    ( 07.12.18 16:46:43 MSK ) автор топика
    Ответ на: комментарий от grem 07.12.18 16:20:43 MSK

    Ну так под винду Visual Studio это фактически стандарт

    cvs-255 ★★★★★
    ( 07.12.18 16:47:38 MSK ) автор топика
    Ответ на: комментарий от cvs-255 07.12.18 15:51:51 MSK

    Госпаде! Типичный лор. То «СТАВЬ КУЛЬТИ СТАВЬ КУЛЬТИ СТАВЬ КУЛЬТИ. 111!!», то «собирай генту GTK+».

    Неужели никто не мог дать вот эту ссылку: https://github.com/tschoonj/GTK-for-Windows-Runtime-Environment-Installer ? Там есть все и оно прописывается в PATH, можно сразу приступать к кодингу на C или C++. Питон через msys2 по инструкции gtk.org и собирать cx_Freeze.

    ArkaDOSik ★★
    ( 07.12.18 16:55:15 MSK )
    Ответ на: комментарий от cvs-255 07.12.18 16:47:38 MSK

    Ну так под винду gtk+ далеко не стандарт.

    grem ★★★★★
    ( 07.12.18 17:29:17 MSK )
    Ответ на: комментарий от ArkaDOSik 07.12.18 16:55:15 MSK

    А ты читал исходное сообщение ТС? Он знает об этом способе. Уж действительно типичный ЛОР.

    На самом деле ему должны были посоветовать таскать собранные им либы со своим приложением в случае винды.

    grem ★★★★★
    ( 07.12.18 17:31:30 MSK )
    Последнее исправление: grem 07.12.18 17:31:41 MSK (всего исправлений: 1)

    Ответ на: комментарий от grem 07.12.18 17:31:30 MSK
    anymouze ★★
    ( 07.12.18 17:36:00 MSK )
    Ответ на: комментарий от grem 07.12.18 17:31:30 MSK

    Ну так про установщик то он не знал. Его поставить — как .net Framework по сложности.

    P.S. А вы думали, что у Qt какие-то нанотехнологии? точно так же либо линковать статически, либо копипастить

    P.S.S. Зависимости в винду бы, зависимости.

    ArkaDOSik ★★
    ( 07.12.18 17:36:55 MSK )
    Ответ на: комментарий от ArkaDOSik 07.12.18 16:55:15 MSK

    Так потому и не дали ссылку, что далеко не все про нее в курсе.

    cvs-255 ★★★★★
    ( 07.12.18 17:49:00 MSK ) автор топика

    На Windows я без vcpkg не обхожусь. Прекрасная штука, оно устанавливает либы из сорцов и поддерживается CMake и Visual Studio. GTK+3 там тоже есть.

    А если ты свой софт распространяешь, то делай как все вендузятники, кидай либы в директорию с софтом.

    Unicode4all ★★★★★
    ( 07.12.18 19:32:57 MSK )
    Последнее исправление: Unicode4all 07.12.18 19:35:10 MSK (всего исправлений: 1)

    Попробуй gtk из vcpkg

    O02eg ★★★★★
    ( 07.12.18 21:17:48 MSK )
    Ответ на: комментарий от RazrFalcon 07.12.18 15:45:22 MSK

    Чем бы это помогло?

    WitcherGeralt ★★
    ( 07.12.18 22:41:15 MSK )
    Ответ на: комментарий от cvs-255 07.12.18 15:43:19 MSK

    Да сделай ты по-человечески, собери сам, делов-то.

    WitcherGeralt ★★
    ( 07.12.18 22:44:25 MSK )
    Ответ на: комментарий от WitcherGeralt 07.12.18 22:41:15 MSK

    Qt официально поддерживает винду. GTK+ — нет.

    RazrFalcon ★★★★★
    ( 07.12.18 22:53:03 MSK )
    Ответ на: комментарий от cvs-255 07.12.18 15:51:51 MSK

    Почему нельзя было сделать виндовый msi для библиотеки и заголовочных файлов?

    Потому что разработчики не заинтересованы в поддержке этой ОС

    annulen ★★★★★
    ( 07.12.18 22:54:52 MSK )

    Хм. Когда то давно ставил Gajim на windows. Так там инсталятор предлагал установить gtk в систему.

    save_data ★
    ( 08.12.18 00:08:52 MSK )

    просто добавь dll-ки и всё, нашёл проблему.

    Можешь из msys2, можешь из vcpkg.

    fsb4000 ★★★★★
    ( 08.12.18 01:19:45 MSK )
    Ответ на: комментарий от RazrFalcon 07.12.18 22:53:03 MSK

    GTK+ нормально поддерживает винду, так как есть пакет в ихнем менеджере пакетов https://github.com/Microsoft/vcpkg , то для C++ можно считать почти официально(те же dll автоматом копируются при сборке)

    fsb4000 ★★★★★
    ( 08.12.18 01:26:48 MSK )

    А как по-нормальному установить GTK3 на Windows?

    $ vcpkg install gtk 

    Вот сделал я приложение на gtk (на .net), хочу чтобы можно было и в linux и в windows запускать.

    Вообще-то ты должен забандлить GTK+-либу и все сопутствующие в установщике для Windows. Так делает Inkscape и тот же GIMP. GTK+ не является системной библиотекой Windows.

    EXL ★★★★★
    ( 08.12.18 01:31:09 MSK )
    Ответ на: комментарий от EXL 08.12.18 01:31:09 MSK

    И да, с Qt точно так же нужно будет тягать с собой все Qt-либы в дистрибутиве приложения. Или ты будешь рассматривать вариант аля сходи на официальный сайт скачай 1ГБ этих хрустящих файлов? Вот то-то и оно.

    EXL ★★★★★
    ( 08.12.18 01:43:22 MSK )
    Ответ на: комментарий от EXL 08.12.18 01:43:22 MSK

    А как насчет установить gtk в систему, если не установлена?

    cvs-255 ★★★★★
    ( 08.12.18 01:53:06 MSK ) автор топика
    Ответ на: комментарий от cvs-255 08.12.18 01:53:06 MSK

    Это не Windows Way. И не macOS Way.

    Системные либы в этих ОС это то, что предоставляет сама корпорация, а не какие-то там частные компании или ты.

    Методы аля «положите эти библиотеки в system32 и будет вам счастье» уже давно прошли.

    Хочешь распространять своё приложение для пользователя удобно? Делай как все: создавай инсталлятор (или portable-архив), который содержит все необходимые библиотеки необходимых версий для запуска твоего приложения. В винде/макоси действует принцип «поставил и работает», а не обновил библиотеку и всё к херам поломалось, потому что приложение было заточено только под определённую версию либы.

    Исключением из этого разве что Java является. Да и то, куча приложений под Windows (и кстати Linux тоже) бандлят с собой весь JRE, а то и JDK.

    EXL ★★★★★
    ( 08.12.18 01:59:23 MSK )
    Последнее исправление: EXL 08.12.18 02:01:07 MSK (всего исправлений: 1)

    Ответ на: комментарий от grem 07.12.18 15:57:33 MSK

    Остальные разработчики ряда софтину давно забили на портирование для виндоус из-за того, что из софтины используют gtk3.

    Можно ещё посмотреть Meld, Gajim. Там всё в скриптах. Для Гаджим даже портабельный вариант.

    gag ★★★★★
    ( 08.12.18 05:39:15 MSK )
    Ответ на: комментарий от save_data 08.12.18 00:08:52 MSK

    Так там инсталятор предлагал установить gtk в систему.

    Рунтайм скорее всего. Это несколько другая штука, чем та, о которой вопрошает ТС.

    Deleted
    ( 08.12.18 11:22:20 MSK )
    Ответ на: комментарий от EXL 08.12.18 01:59:23 MSK

    Методы аля «положите эти библиотеки в system32 и будет вам счастье» уже давно прошли.

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

    Deleted
    ( 08.12.18 11:39:47 MSK )

    посмотрел на биндинги GTK к разным языкам и похоже программисты на D, тоже не любят таскать либы с собой.

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *