From 83c3f733f4e87d5c5d6f6a687b8820feba997030 Mon Sep 17 00:00:00 2001 From: Alexander Zhirov Date: Fri, 24 Jun 2022 10:40:04 +0300 Subject: [PATCH] =?UTF-8?q?pkg-config:=20=D0=B8=D0=B4=D0=B5=D0=BD=D1=82?= =?UTF-8?q?=D0=B8=D1=84=D0=B8=D0=BA=D0=B0=D1=86=D0=B8=D1=8F=20=D0=B1=D0=B8?= =?UTF-8?q?=D0=B1=D0=BB=D0=B8=D0=BE=D1=82=D0=B5=D0=BA=D0=B8=20(update)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- programming/src/libs.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/programming/src/libs.md b/programming/src/libs.md index 7fe3e11..f009987 100644 --- a/programming/src/libs.md +++ b/programming/src/libs.md @@ -15,6 +15,12 @@ pkg-config --libs libpq ``` где `-lpq` - флаг компиляции при использовании библиотеки `pq` PostgreSQL. +|Флаг|Описание| +|-|-| +|`--list-all`|Вывести список всех установленных общих библиотек| +|`--cflags [БИБЛИОТЕКА]`|Перечисляет флаги предварительной обработки и компиляции для указанной общей библиотеки| +|`--libs [БИБЛИОТЕКА]`|Перечисляет флаги ссылок для указанной общей библиотеки| + ### Идентификация библиотеки После того, как файл библиотеки скомпилирован, в каталоге `{instal_home/lib}` будет создан каталог с именем `pkgconfig`, который содержит файл `.pc` связанной библиотеки. Этот файл содержит соответствующую информацию о модификации библиотеки. Чтобы найти и прочитать, необходимо установить файл `.pc` в каталог `/usr/lib/pkgconfig` или добавить путь установки файла `.pc` в переменную среды `PKG_CONFIG_PATH`. Цель этого - позволить другим программам, которые зависят от этой библиотеки, автоматически связывать библиотеку с помощью `pkg-config`, избегая ошибок во время компиляции. @@ -36,6 +42,14 @@ Libs: -L${libdir} -lfoo [Подробнее](https://people.freedesktop.org/~dbn/pkg-config-guide.html). +Переменная окружения `PKG_CONFIG_PATH` используется для указания пути, где `pkg-config` ищет файлы `.pc`. Кроме того, `pkg-config` также будет искать файлы `.pc` в каталоге `/usr/lib/pkgconfig`. + +Установка: + +```sh +export PKG_CONFIG_PATH=/usr/local/lib +``` + ## ldd Команда `ldd` предназначена для вызова одноименной утилиты, осуществляющей вывод списка разделяемых библиотек, используемых исполняемыми файлами или разделяемыми библиотеками: