pkg-config по какой-то причине не распознает ни одну опцию

pkg-config по какой-то причине не распознает ни одну опцию

Я хотел бы использовать pkg-config для изменения каталогов включения пакета, но, похоже, он не принимает никаких параметров.

После ввода следующей команды:

pkg-config --cflags ImageMagick -fopenmp -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16 -I/usr/include/x86_64-linux-gnu/ImageMagick-6 -I/usr/include/ImageMagick-6

...он сразу же дает сбой при первой же опции cflag:

Unknown option -fopenmp

Это нормальное поведение? Как мне заставить это работать?

PS: Использую Debian Jessie.

решение1

pkg-configвыводит флаги, предназначенные для использования с компилятором или компоновщиком. Обычно вы используете это так:

gcc $(pkg-config --cflags ImageMagick) …

Вы не можете использовать pkg-configкоманду для изменения путей, используемых данным пакетом. Пути определены в соответствующем .pcфайле,например /usr/lib/x86_64-linux-gnu/pkgconfig/ImageMagick.pc. Чтобы настроить это, самый безопасный вариант — скопировать этот файл в другое место, изменить его соответствующим образом и указать путь к файлу с помощью PKG_CONFIG_PATHпеременной среды.

Обратите внимание, что если вы сами собрали библиотеки ImageMagick, сборка должна была создать .pcдля вас допустимый файл. Вам также не следует использовать .pcфайлы для указания таких опций, как -fopenmp; они должны быть в вашей команде сборки, в вашем makefile или в CPPFLAGS, CFLAGSили CXXFLAGSпеременных окружения (или переменных makefile).

Связанный контент