Проблемы с переменной среды libconfig PKG_CONFIG_PATH

Я закодировал проект с некоторыми файлами на C. Чтобы упростить пользователю запуск программы, я начал генерировать cfg-файл. По этой причине я установил libconf. К сожалению, при компиляции с примером файла libconfig я получаю это сообщение.

gcc $(pkg-config --cflags --libs libconfig) example1.c -o example1 example.cfg



example1.c: In Function »main«: example1.c:43:13: Warning: Format »%s« expected argumenttyp »char *«, but argument 3   has typ »int« [-Wformat]

.....

Как мне сказали, я установил sudo apt-get install libconfig8-dev и надеялся не устанавливать PKG_CONFIG_PATH. Похоже, что это не правильно компилируется.

2
задан 13 September 2012 в 20:28

1 ответ

Как вы получили и установили libconfig?

Если вы только что установили пакет libconfig8, этого недостаточно . Вам также необходимо установить соответствующий ему пакет -dev, чтобы предоставить файлы разработки (заголовки, статическая библиотека ссылок и данные pkg-config). Я смог найти это для libconfig для точных на packages.ubuntu.com . Таким образом,

sudo apt-get install libconfig8-dev

должны сделать свое дело.

Как вы можете видеть из здесь , список файлов для этого пакета содержит следующий путь к файлу:

/usr/lib/pkgconfig/libconfig.pc

Это именно тот файл, который [ 115] должен быть в состоянии вытащить CFLAGS и LDFLAGS, соответствующие libconfig.

Этот каталог находится по «встроенному» пути поиска pkg-config из коробки в Ubuntu. По этой причине нет необходимости устанавливать PKG_CONFIG_PATH. Вы можете установить эту переменную среды только тогда, когда вам нужно pkg-config искать в каталогах , отличных от , в тех, которые она ищет по умолчанию. Поэтому, если вы скомпилировали программу и установили ее в /home/user/apps/blah, а файл /home/user/apps/blah/lib/pkg-config/libblah.pc должен был быть доступен для pkg-config, вы должны установить:

export PKG_CONFIG_PATH=/home/user/apps/blah/lib/pkg-config/libblah.pc

, чтобы pkg-config обнаружил, что установка libblah.pc.

Однако, поскольку вы устанавливаете libconfig из самой Ubuntu , он автоматически "вставит" файл .pc в правильный каталог поиска.

0
ответ дан 13 September 2012 в 20:28

Другие вопросы по тегам:

Похожие вопросы: