!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
GTK+ Reference Manual |
---|
Компиляция GTK+ приложенийКомпиляция GTK+ приложений Как скомпилировать вашу GTK+ программу |
Для компиляции 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.