!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

Prev

Up

Home

GTK+ Reference Manual

Next

Компиляция GTK+ приложений

Компиляция GTK+ приложений Как скомпилировать вашу GTK+ программу

Компиляция GTK+ приложений в UNIX

Для компиляции GTK+ приложения, вам необходимо сообщить компилятору где искать заголовочные файлы и библиотеки GTK+. Это можно выполнить при помощи утилиты pkg-config.

Следующий пример демонстрирует использование pkg-config (фактический вывод в вашей системе может отличаться):

$ pkg-config --cflags gtk+-2.0 -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/glib-2.0\ -I/usr/lib/glib-2.0/include -I/usr/include/pango-1.0 -I/usr/X11R6/include -I/usr/include/freetype2 -I/usr/include/atk-1.0 $ pkg-config --libs gtk+-2.0 -L/usr/lib -L/usr/X11R6/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -lXi -lgdk_pixbuf-2.0\ -lm -lpangox -lpangoxft -lXft -lXrender -lXext -lX11 -lfreetype -lpango -latk -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0

Самый простой способ компиляции программ заключается в использовании вложенных команд шелл заключенных в апострофы "backticks". Если вы заключите команду в апострофы, то во время выполнения команды компиляции на их место будет подставлен результат их выполнения. Так для компиляции GTK+ Hello, World, вам нужно ввести следующую команду:

$ cc `pkg-config --cflags --libs gtk+-2.0` hello.c -o hello

Чтобы скомпилировать GTK+ программу для framebuffer, используйте имя пакета "gtk+-linux-fb-2.0" вместо "gtk+-2.0":

$ cc `pkg-config --cflags --libs gtk+-linux-fb-2.0` hello.c -o hello

Если вы хотите убедиться в том, что ваша программа не использует запрещенных функций, вы можете определить препроцессорный знак GTK_DISABLE_DEPRECATED используя в командной строке опцию -DGTK_DISABLE_DEPRECATED=1. Есть подобные знаки GDK_DISABLE_DEPRECATED, GDK_PIXBUF_DISABLE_DEPRECATED и G_DISABLE_DEPRECATED для GDK, GdkPixbuf и GLib.

Если вы хотите убедиться в том, что ваша программа не использует функций способных вызвать проблемы в многочисленных установках, вы можете определить препроцессорный знак GDK_MULTIHEAD_SAFE используя в командной строке опцию -DGTK_MULTIHEAD_SAFE=1.