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

Compiling GLib Applications — Как скомпилировать ваше GLib приложение

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

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

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

$ pkg-config --cflags glib-2.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include $ pkg-config --libs glib-2.0 -L/usr/lib -lm -lglib-2.0

Если ваше приложение использует потоки (threads) или GObject особенности, оно может быть скомпилировано и слинковано с помощью опций возвращаемых следующими вызовами pkg-config:

$ pkg-config --cflags --libs gthread-2.0 $ pkg-config --cflags --libs gobject-2.0

Если ваше приложение использует модули, оно может быть слинковано и скомпилировано с помощью опций возвращаемых одним из следующих вызовов pkg-config:

$ pkg-config --cflags --libs gmodule-no-export-2.0 $ pkg-config --cflags --libs gmodule-2.0

Отличие между двумя этими gmodule-2.0 в добавляемом флажке --export-dynamic к линковщику, который зачастую ненужен.

Простой способ компиляции программ - это использование "backticks" особенности оболочки. Если вы заключите команду в обратные одинарные кавычки (backticks) (не одиночные кавычки), то вывод будет перенаправлен в командную строку перед выполнением основной команды. Таким образом для компиляции GLib Hello, World, вы должны напечатать следующее:

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

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