- pkg-config
-
pkg-config Тип Автор James Henstridge; переписана Хэвоком Пеннингтоном
Разработчик Tollef Fog Heen / freedesktop.org
Операционная система Первый выпуск 2006-12-11 or earlier
Последняя версия 0.27 (11 июля 2012)
Лицензия Сайт pkg-config - компьютерная программа, предоставляющая общий интерфейс для получения информации об установленных программных библиотеках с целью компиляции программ из исходного кода. pkg-config первоначально была разработана для Linux, но сейчас доступна и в других операционных средах: BSD, Microsoft Windows, Mac OS X и Solaris.
Эта программа выводит информацию об установленных библиотеках, которая включает в себя:
- Параметры для C или C++ компилятора
- Параметры для компоновщика
- Версию пакета
Как это работает
При установке библиотеки с помощью менеджера пакетов (к примеру RPM или deb), в специальную директорию помещается .pc файл (точное положение директории зависит от Вашей системы. Его можно выяснить с помощью команды man pkg-config). Данный файл содержит несколько записей.
Эти записи, как правило, содержат список библиотек и заголовочных файлов, которые могут потребоваться при компиляции других программ. Кроме того, в них может содержаться версия библиотеки и её описание.
Ниже приведён пример .pc файла для libpng:
prefix=/usr/local exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${exec_prefix}/include
Name: libpng Description: Loads and saves PNG files Version: 1.2.8 Libs: -L${libdir} -lpng12 -lz Cflags: -I${includedir}/libpng12
В этом примере в файле описаны пути к библиотекам (/usr/local/lib) и их заголовочным файлам в (/usr/local/include). Также в нём описано название библиотеки (libpng) и его версия (1.2.8). Кроме всего прочего, в файле описаны дополнительные опции компилятора и компоновщика, которые понадобятся при компиляции программ.
При сборке программы удобно использовать pkg-config следующим образом:
gcc -o test test.c $(pkg-config --libs --cflags libpng)
Ссылки
Категории:- Программное обеспечение по алфавиту
- Freedesktop.org
- Утилиты конфигурирования UNIX
- Библиотеки программ
Wikimedia Foundation. 2010.