Отправляет email-рассылки с помощью сервиса Sendsay

Практические советы по GTK+

  Все выпуски  

Практические советы по GTK+



Хотелось бы начать с чего-нибудь интересного, но начну с самого начала:

Какие нужны инструменты:

Будут параллельно рассматриваться реализации для 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 приложение.



В избранное