LINUX.ORG.RU

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

 ,


2

3

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

★★★★★

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

eternal_sorrow ★★★★★
()
Ответ на: комментарий от eternal_sorrow

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

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

cvs-255 ★★★★★
() автор топика
Последнее исправление: cvs-255 (всего исправлений: 2)
Ответ на: комментарий от meliafaro

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


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

grem ★★★★★
()
Ответ на: комментарий от cvs-255

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

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

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

Darth_Revan ★★★★★
()
Последнее исправление: Darth_Revan (всего исправлений: 5)
Ответ на: комментарий от cvs-255

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

Deleted
()
Ответ на: комментарий от cvs-255

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

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

RazrFalcon ★★★★★
()
Ответ на: комментарий от Darth_Revan

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

Deleted
()
Ответ на: комментарий от Deleted

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

grem ★★★★★
()
Ответ на: комментарий от meliafaro

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

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

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

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

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

KennyMinigun ★★★★★
()
Ответ на: комментарий от xDShot

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

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

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 1)
Ответ на: комментарий от Darth_Revan

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

cvs-255 ★★★★★
() автор топика
Ответ на: комментарий от Darth_Revan

Gtk# разрабатывался в рамках Mono

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

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

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

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

ArkaDOSik ★★
()
Ответ на: комментарий от cvs-255

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

grem ★★★★★
()
Ответ на: комментарий от ArkaDOSik

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

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

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 1)
Ответ на: комментарий от grem

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

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

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

ArkaDOSik ★★
()
Ответ на: комментарий от ArkaDOSik

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

cvs-255 ★★★★★
() автор топика

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

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

Unicode4all ★★★★★
()
Последнее исправление: Unicode4all (всего исправлений: 1)

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

O02eg ★★★★★
()
Ответ на: комментарий от cvs-255

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

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

annulen ★★★★★
()

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

save_data
()

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

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

fsb4000 ★★★★★
()
Ответ на: комментарий от RazrFalcon

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

fsb4000 ★★★★★
()

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

$ vcpkg install gtk

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

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

Почитай этот тред, кстати: GTK+ 3 на винде. Нативные UI-элементы.

EXL ★★★★★
()
Ответ на: комментарий от EXL

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

EXL ★★★★★
()
Ответ на: комментарий от cvs-255

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

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

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

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

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

EXL ★★★★★
()
Последнее исправление: EXL (всего исправлений: 1)
Ответ на: комментарий от grem

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

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

gag ★★★★★
()
Ответ на: комментарий от save_data

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

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

Deleted
()
Ответ на: комментарий от EXL

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

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

Deleted
()

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

Вот на их сайте: https://gtkd.org/ ссылки на установщик либ(он также пропишется в PATH)

https://gtkd.org/Downloads/runtime/gtk3-runtime_3.22.24-1_32bit.exe

https://gtkd.org/Downloads/runtime/gtk3-runtime_3.22.24-1_64bit.exe

fsb4000 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.