Хотелось бы начать с чего-нибудь интересного, но начну с самого начала:
Какие нужны инструменты:
Будут параллельно рассматриваться реализации для Unix подобных систем и для Windows.
Для Unix или Linux всё просто, при установке дистрибутива наверняка всё уже будет установлено. Однако не лишним будет проверить наличие пакетов GTK для разработчика с префиксом devel. Например в состав Fedora7 входят: gtk2-2.10.11-7.fc7.i386.rpm gtk2-devel-2.10.11-7.fc7.i386.rpm а также требуемые для пакета gtk зависимые библиотеки glib, atk, pango, cairo и т.д.
Для Windows придётся немного потрудится. 1) Для начала нужно скачать пакет разработчика, то есть файлы include и libs для GTK+. Если будете качать не одним пакетом, а кусочками, тогда имеёте в виду, что для GTK+ требуются дополнительные пакеты: glib, atk, pango, cairo (для GTK+ 2.8 и старше), и по мелочи: libiconv, gettext, libpng, zlib, libjpeg, libtiff, pkg-config.
Можно скачать всё одним пакетом gtk-dev-***-win32-1.exe где вместо *** - версия, например gtk-dev-2.10.11-win32-1.exe
Или по частям: gtk+-***.zip gtk+-dev-***.zip pango-dev-***.zip pango-dev-***.zip и т.д.
Начать поиски можно отсюда: Пакет gtk+-win32-devel (всё в одном, рекомендуется для начинающих и не только): http://sourceforge.net/project/showfiles.php?group_id=98754&package_id=111411 Все пакеты по отдельности (новые версии здесь появляются раньше): http://www.gtk.org/download-windows.html или http://www.gimp.org/~tml/gimp/win32/downloads.html Учтите, что последняя поддерживаемая версия для Win98 - это 2.6, на март 2008г. последняя версия 2.12.9
2) Теперь нужно определиться с компилятором. Если Вам нравится пользоваться Visual Studio, тогда после установки необходимых dll, lib и include немного поднастроим среду разработки: Через меню Tools->Options
вызываем окно Options, где На Закладке Projects->VC++ Directories добавляем пути к заголовочным файлам (Include files) и lib файлам (Library files) Теперь среда разработки настроена, осталось только прописать используемые lib файлы в проекте. Это можно сделать двумя путями: Через меню Project->Property вызываем окно настроек проекта, и в поле Linker->Input->Additional Dependencies добавить gtk-win32-2.0.lib glib-2.0.lib gobject-2.0.lib gdk-win32-2.0.lib gdk_pixbuf-2.0.lib
pango-1.0.lib intl.lib gthread-2.0.lib gdk_pixbuf-2.0.lib Или в одном из файлов *.с в начале прописать используемые библиотеки: #pragma comment(lib,"gthread-2.0.lib") #pragma comment(lib,"gtk-win32-2.0.lib") #pragma comment(lib,"glib-2.0.lib") #pragma comment(lib,"gobject-2.0.lib") #pragma comment(lib,"gdk-win32-2.0.lib") #pragma comment(lib,"gdk_pixbuf-2.0.lib") #pragma comment(lib,"pango-1.0.lib") #pragma comment(lib,"pangowin32-1.0.lib") #pragma comment(lib,"intl.lib")
Все используемые lib файлы и пути к ним можно узнать выполнив в консоли команду: pkg-config --msvc-syntax --libs gtk+-2.0
Для других компиляторов будем писать make файл, что впрочем, не мешает написать его для Visual C++.
Выбор альтернативных компиляторов велик, самый популярный - это gcc. Рекомендую поставить MinGW, можно конечно и Cygwin, но тогда придётся
таскать за собой cygwin1.dll, да и с лицензией MinGW более демократичен. Если Ваш выбор пал на MinGW, то советую поставить также пакет MSYS, чтобы более полно воссоздать окружение, аналогочное Linux.
Для MinGW нужно скачать несколько пакетов: binutils gcc-core gcc-g++ gcc-objc mingw-runtime mingw32-make w32api или MinGW-***.exe, который сам скачает что надо и даже установит. Всё это можно найти на http://www.mingw.org
У меня стоят: binutils-2.17.50-20060824-1.tar.gz gcc-core-3.4.5-20060117-1.tar.gz gcc-g++-3.4.5-20060117-1.tar.gz gcc-objc-3.4.5-20060117-1.tar.gz mingw-runtime-3.13.tar.gz mingw32-make-3.81-2.tar.gz w32api-3.10.tar.gz MinGW-5.1.3.exe Естественно, версии у Вас могут быть другими.
После установки в переменную окружения Path нужно будет прописать путь к компилятору, у меня стоит C:\msys\mingw
В следующем выпуске попробуем написать GTK приложение.