mr.denton писал(а):Т.к. предполагается еще и винда, вопрос второй: как заставить lazarus использовать Gtk под виндами?
Теоретически -- так:
1) Открываем консоль с текущей папкой path:\to\lazarus\lcl\interfaces\gtk2, делаем make.
2) В настройках проекта в Лазарусе указываем виджетсет gtk2
3) Собираем проект
4) Качаем
gtk для windows, распаковываем (там куча архивов, включая компоненты самой gtk и сторонние библиотеки, от которых она зависит)
5) Запускаем наш проект
6) Смотрим названия библиотек, на которые он ругается, и копируем их из папки распакованного gtk в папку нашей программы.
7) После того как программа запускается, мучаемся с подключением нативного windows-скина для gtk. У меня это в своё время так и не получилось. В качестве источника вдохновения можно поковырять дистрибутив gimp или inkscape под windows, им это как-то удалось
Правда, если бы сильно приспичило использовать не win32 виджетсет, я бы собирал под windows с qt. Она на этой платформе выглядит попривычнее чем gtk, даже с учётом использования нативных скинов. Процедура сборки примерно такая же, только ещё понадобится библиотека-адаптер Qt4Pas, ссылки
тут.
P.S.
1. Пересобирать
весь Lazarus под gtk/qt смысла нет, достаточно пересобирать виджетсет (т.е. сделать make в его папке)
2. Приложение с пустой формой в сумме (исполняемый файл + библиотеки + конфиги, которые нужны gtk для поддержки скинов) выходит примерно в 38 МБайт для gtk и в 37 МБайт для qt. Это с учётом strip, без него ещё +10 МБайт