pkg-config: идентификация библиотеки

This commit is contained in:
Alexander Zhirov 2022-06-24 10:34:43 +03:00
parent 73fb121fda
commit 021e635adc
1 changed files with 21 additions and 0 deletions

View File

@ -15,6 +15,27 @@ pkg-config --libs libpq
``` ```
где `-lpq` - флаг компиляции при использовании библиотеки `pq` PostgreSQL. где `-lpq` - флаг компиляции при использовании библиотеки `pq` PostgreSQL.
### Идентификация библиотеки
После того, как файл библиотеки скомпилирован, в каталоге `{instal_home/lib}` будет создан каталог с именем `pkgconfig`, который содержит файл `.pc` связанной библиотеки. Этот файл содержит соответствующую информацию о модификации библиотеки. Чтобы найти и прочитать, необходимо установить файл `.pc` в каталог `/usr/lib/pkgconfig` или добавить путь установки файла `.pc` в переменную среды `PKG_CONFIG_PATH`. Цель этого - позволить другим программам, которые зависят от этой библиотеки, автоматически связывать библиотеку с помощью `pkg-config`, избегая ошибок во время компиляции.
#### Структура файла `.pc`
```sh
prefix=/usr/local
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib
Name: foo
Description: The foo library
Version: 1.0.0
Cflags: -I${includedir}/foo
Libs: -L${libdir} -lfoo
```
[Подробнее](https://people.freedesktop.org/~dbn/pkg-config-guide.html).
## ldd ## ldd
Команда `ldd` предназначена для вызова одноименной утилиты, осуществляющей вывод списка разделяемых библиотек, используемых исполняемыми файлами или разделяемыми библиотеками: Команда `ldd` предназначена для вызова одноименной утилиты, осуществляющей вывод списка разделяемых библиотек, используемых исполняемыми файлами или разделяемыми библиотеками: