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
이것이 정상적인 행동입니까? 어떻게 작동하게 할 수 있나요?
추신: 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, 또는 환경 변수(또는 makefile 변수)에 CPPFLAGS
있어야 CFLAGS
합니다 CXXFLAGS
.