Автор Тема: Собираем GTK+ и GTKGlExt под Win32  (Прочитано 8719 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Altmer

  • Администратор
  • Ветеран
  • *******
  • Сообщений: 4222
Собираем GTK+ и GTKGlExt под Win32
« : 31 Июль 2011, 15:23:03 »
На днях решил собрать собственноручно межплатформенную GUI библиотеку GTK+.
Занятие не для слабонервных - пол гигабайта исходников, горсть подводных камушков (в виде коррекции кода и конфигов) и плохая документированность процессов сборки, средств разработки и т.д...

Дабы сократить описание - берем документ GTKBuildProcess.pdf и следуем инструкциям с приоритетом за моими примечаниями.
Я бы выложил конечно готовый билд, но это сложно. Почему? Да потому, что я тоже следовал инструкциям и все результаты сборки улетели в директорию MinGW, а отделять зерна от плевен... )))

Итак начнем, и да, это займет у вас весь день...

0) Ставим MinGW, MSYS и наконец msysDTK, затем прописываем в PATH директорию mingw/bin. Я пользовался отностельно старенькой версией, как будет с новыми не знаю. Сразу копируем pkg-config.exe в директорию mingw/bin. Вообще pkg-config.exe отличился тем что для его сборки он сам себе нужен - это как тот старый спор про курицу и яйцо )
1) zlib-1.2.5 -> по инструкции
2) libiconv-1.13.1 -> по инструкции
3) gettext-0.18.1.1 -> по инструкции
4) glib-2.28.8 -> по инструкции
5) pkg-config-0.25 -> по инструкции (то самое яйцо, точнее цыпленок, поскольку курица несовместима со сборкой остальных составляющих GTK+)
6) libpng-dev_1.4.3-1_win32.zip и libpng_1.4.3-1_win32.zip -> по инструкции (собирать новый не стал, хотя думаю у меня бы получилось, потому что собирал его для Devil, но автор инструкции уверяет, что данная либа не собирается, в общем в тот момент решил не отклоняться от инструкции)
7) jpeg-8c -> как обычно: ./configure -prefix=/mingw, make, make install (см. правки в GTKGL.ZIP) (это опциональная библиотека)
8) jasper-1.900.1 -> как обычно: ./configure -prefix=/mingw, make, make install (см. правки в GTKGL.ZIP) (это опциональная библиотека)
9) tiff-3.9.5 -> как обычно: ./configure -prefix=/mingw, make, make install (это опциональная библиотека)
10) expat-2.0.1 -> по инструкции, ссылка на исходник: http://sourceforge.net/projects/expat/
11) freetype-2.4.6 -> по инструкции
12) fontconfig-2.8.0 -> по инструкции
13) pixman-0.22.2 -> по инструкции
14) cairo-1.8.10 -> по инструкции
15) pango-1.29.3 -> по инструкции
16) atk-2.1.0 -> по инструкции

...все дальше инструкция не работает...

17) gdk-pixbuf-2.22.1 -> про него инструкция вообще умалчивает, собираться он не хочет из-за бага в bash под винду (см. правки в GTKGL.ZIP), но проблема была решена, к стати странно, баг древний и легко решается добавлением в конфиг пары символов, видимо это намек - мол нечего под виндой GTK использовать. И еще пара мелких исправлений в ассемблерных файлах. Команды сборки: ./configure -prefix=/mingw, make, make install
18) gtk+-2.24.0 -> аналогичный предыдущему баг (см. правки в GTKGL.ZIP), команды сборки: ./configure -prefix=/mingw, make, make install
19) gtkglext-1.2.0 -> Тут пришлось поправить исходник, сложилось ощущение что его либо никогда ни компилировали, либо его не конфигурировали под винду перед релизом - отсутствуют некоторые определения (см. правки в GTKGL.ZIP). Команды сборки по инструкции.

Вот и все, хотя может в вашем случае и не все, тут такое дело - раз на раз не приходится  :)

ПС. Не стоит использовать файлы из GTKGL.ZIP для замены в исходниках других версий.
« Последнее редактирование: 31 Июль 2011, 20:03:57 от Altmer »
- Разве ты не устал от борьбы, от каменистых дорог?
- Нет.
- Как странно, ведь многие так ценят покой...
                                             E. Гуляковский, "Сезон туманов"

Oleg

  • Гость
Re: Собираем GTK+ и GTKGlExt под Win32
« Ответ #1 : 31 Июль 2011, 18:57:23 »
Хм  ;D
Я уже привы к этому, юзаю slackware.
В ней хоть в отличие от тойже убунты devel пакетов побольше из под коробки.
« Последнее редактирование: 31 Июль 2011, 20:04:18 от Altmer »