PKG_CHECK_MODULES для некоторых библиотек++

Я пытаюсь сделать свой проект autotools на С++ ссылкой на библиотеку, которая возникла как библиотека C (libsomelib.so), но также имеет привязки к С++ (libsomelib++.so). Я пытаюсь использовать PKG_CHECK_MODULES, чтобы проверить, установлен ли этот пакет, и использовать автоинструменты для связи с ним. Однако обе библиотеки поставляются в одном пакете (версия c++ требует флага configure) и имеют только один файл .pc, в котором независимо от настроек конфигурации есть только строка

Libs: -L${libdir} -lsomelib

без упоминания версии ++. Также нет отдельного файла ++.pc, который я заметил в других программах. Поэтому автоматическая привязка к версии ++ невозможна. Я думал вручную добавить -lsomelib++ к флагам компоновки, но это довольно уродливо (и это не сработает, если кто-то скомпилировал его без флага --with-cxx). Я также мог бы проверить его существование с помощью AC_SEARCH_LIBS, но, поскольку это библиотека C++, это не так просто.

Отсутствует файл ++.pc, ошибка распространителя пакетов или это какая-то более глубокая идея, и я не знаю, как ее использовать?

Если кому-то действительно интересно, я скажу, что речь идет о пакете ossp-uuid.


person j_kubik    schedule 05.12.2010    source источник


Ответы (1)


Да, отсутствующий ++.pc обычно намекает на упущение со стороны упаковщика.

Кстати: если простых (DCE) UUID достаточно, вы можете рассмотреть libuuid e2fsprogs/util-linux (в случае, если вы используете эту ОС).

person user502515    schedule 06.12.2010