Первоначальный автор (ы) | Джеймс Хенстридж; переписано Havoc Pennington |
---|---|
Developer (s) | Tollef Fog Heen / freedesktop.org |
Первоначальный выпуск | 2000; 20 лет назад (2000 г.) или ранее |
Стабильная версия | 0.29.2 / 20 марта 2017 г.; 3 года назад (20.03.2017) |
Репозиторий | |
Написано в | C |
Операционной системе | Unix- например |
Тип | Инструмент программирования |
Лицензия | GNU GPL |
Веб-сайт | www.freedesktop.org / wiki / Software / pkg-config / |
pkg-config - это компьютерная программа, которая определяет и поддерживает унифицированный интерфейс для запроса установленных библиотек с целью компиляции программного обеспечения, которое от них зависит.. Это позволяет программистам и сценариям установки работать без явного знания подробной информации о пути к библиотеке. pkg-config изначально был разработан для Linux, но теперь он также доступен для BSD, Microsoft Windows, macOS и Solaris.
Выводит различную информацию об установленных библиотеках. Эта информация может включать:
Первая реализация была написана в оболочке. Позже он был переписан на C с использованием библиотеки GLib.
При установке библиотеки (автоматически с использованием RPM, deb или другая двоичная система упаковки или путем компиляции из источника), файл .pcдолжен быть включен и помещен в каталог с другими .pcфайлы (точный каталог зависит от системы и указан на странице руководства pkg-config). В этом файле есть несколько записей.
Эти записи обычно содержат список зависимых библиотек, которые программы, использующие пакет, также должны компилировать. Записи также обычно включают расположение файлов заголовков, информацию о версии и описание.
Вот пример файла .pcдля libpng :
prefix = / usr / local exec_prefix = $ {prefix} libdir = $ {exec_prefix} / lib includedir = $ {exec_prefix} / include Имя: libpng Описание: Загружает и сохраняет файлы PNG. Версия: 1.2.8 Библиотеки: -L $ {libdir} -lpng12 -lz Cflags: -I $ {includedir} / libpng12
Этот файл демонстрирует, как libpngсообщает, что его библиотеки можно найти в / usr / local / lib, а его заголовки в / usr / local / include, что имя библиотеки libpng, и версия 1.2.8. Он также предоставляет дополнительные флаги компоновщика, необходимые для компиляции кода, использующего эту библиотеку.
Вот пример использования pkg-config при компиляции:
$ gcc -o test test.c $ (pkg-config --libs --cflags libpng)
pkg-config может может использоваться программным обеспечением автоматизации сборки, например CMake.
pkg-config (1)
– Linux Команды пользователя Руководство pkg-config (1)
– OpenBSD Общие команды Руководство