Size: a a a

2021 June 10

KF

Konstantin Firsov in dlang.ru
так подозреваю, что проблема может быть в формате кэша лоадеров. У него формат:
"lib\\gdk-pixbuf-2.0\\2.10.0\\loaders\\libpixbufloader-png.dll"
"png" 5 "gdk-pixbuf" "PNG" "LGPL"
"image/png" ""
"png" ""
"\211PNG\r\n\032\n" "" 100

Тут очевидно относительный путь и он дописывается к какой-то директории, возможно. из переменной среды, которая не установлена или же настроена неверно.
источник

g

gavr in dlang.ru
ну а как обычно деплоят под винду, э я хз
источник

g

gavr in dlang.ru
в чем проблема длльелек с ехе
источник

g

gavr in dlang.ru
создай msi который создатс на раб столе ярлычек, а остальное распакует в програм файлы
источник

g

gavr in dlang.ru
на винде же нет общего места для длл
источник

g

gavr in dlang.ru
все кидают с еех
источник

g

gavr in dlang.ru
ну а если есть такое место и оно по дефолту прописано в патх, то кинь туда
источник

KF

Konstantin Firsov in dlang.ru
У меня проблема не с dll, а с их неправильной работой в части загрузки графики. В общем, решил еще немного попробовать. Разобрал birdfont или как-там его и вроде как в инсталляторе нет ничего полезного. Взял инсталлятор gtk3 по ссылке выше, при его распаковке кажется, что установка переменных среды делается через плагины, возможно, EnVar.dll, хз. Пока установил просто так в вайн и вроде бы проблема с загрузкой исчезла, но это не точно. Сейчас попробую поискать отличия и поэкспериментировать, что это он там такое добавляет\устанавливает...
источник

g

gavr in dlang.ru
это как запускать чтото вайном из под винды
источник

g

gavr in dlang.ru
думаю так еще не делали, да и не предполагали
источник

g

gavr in dlang.ru
запускать вайном гтк приложения это жестоко
источник

g

gavr in dlang.ru
так что возможно там поддержки нет
источник

g

gavr in dlang.ru
как запустишь кидай скрины
источник

KF

Konstantin Firsov in dlang.ru
Почему? Также тестить удобно. Приложение самое простое, так что все контролы посмотреть не выйдет. Сначала взял последний релиз 3.24.29 по ссылке выше. Если папку bin из Gtk-Runtime инсталлятора gtkd поменять на bin из этой последней версии, то либа libglib-2.0-0.dll влияет на ошибку загрузки png иконки через Pixbuf. На всякий случай взял еще и примерно посередине - 3.24.10, тоже при замене папки перестает ругаться на иконку, а 3.24.0 все еще ругается, т.е. изменения где-то между ними. Чтобы он подцеплял дефолтные иконки в Entry нужен SET XDG_DATA_DIRS=%~dp0Gtk-Runtime\share, как я понял. Пока проблемы загрузки шрифтов эмодзи, нужно тоже наверное где-то прописывать, хз. Трей работает, он там через покойный статус икон пока еще. Получается, все таки можно положить папку с гтк рантаймом рядом и запаковать.

Но если этот нормальный инсталлятор от tschoonj отвалится по каким-то причинам, то остаются только msys и какой-то там еще упоротый. Это выглядит явно хуже того, что есть сейчас, кгм... Так-то тестить удобненько, а ставить виртуалку, когда можно её не ставить такое себе.
источник

KF

Konstantin Firsov in dlang.ru
источник

g

gavr in dlang.ru
тести нативно
источник

g

gavr in dlang.ru
поставив msysом можно же достать из него длл и рядом с exe пихнуть ниче не прописывая
источник

g

gavr in dlang.ru
потом все это взять и запаковать каким нибудь установщиком винды которых многа
источник

KF

Konstantin Firsov in dlang.ru
Я так смотрю, эмодзи черно-белые, потому что он не может найти Noto Color Emoji или его аналог и ревертит шрифт на sans о чем и плачет в консоли. Судя по файлам в bin и структуре директорий там fontconfig в exe-варианте и, вероятно, можно подсунуть ему этот шрифт, но это уже дело десятое.

Имхо, установка gtk окружения через msys выглядит крайне сомнительным решением на фоне существования нормальных инсталляторов, даже от того же gtkd, все же позаботились люди, приятно и низкий поклон. А так чтобы просто добавить директорию с либами к программе её нужно тянуть как-то через пятое десятое. Это если мне срочно потребуется за пару дней напедалить прогу, то я буду виртуалку поднимать или держать её на этот случай или же гуглить как там из инсталлятора либы достать - конечно же да(нет). А в это время разрабы gtk будут выпиливать что-нибудь вроде трея, трей я им не забуду)
источник

g

gavr in dlang.ru
msys установка самая топ, потому что там постоянно обновляют паакеты и это в целом обычное линь окружение скомпиленное мингв, то бишь все нативно
источник