![]() |
![]() |
![]() |
Справочное описание GLib | ![]() |
---|
Компиляция приложений GLibCompiling GLib Applications — Как скомпилировать ваше GLib приложение |
Для компиляции 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
.