pkg-config가 정보를 찾는 위치나 .pc 파일의 이름이 어떻게 지정되는지는 확실하지 않습니다.

pkg-config가 정보를 찾는 위치나 .pc 파일의 이름이 어떻게 지정되는지는 확실하지 않습니다.

나는 GTK의 튜토리얼을 따르고 다음 명령을 사용하여 빌드 플래그를 생성했습니다.

$ pkg-config --cflags --libs gtk+-3.0

그러면 일관된 플래그가 출력됩니다. 연구를 통해 , , 및 변수에 해당하는 폴더에서 pkg-config파일을 검색하는 것을 발견했습니다..pc/usr/lib/pkginfousr/share/pkgconfig/localPKG_CONFIG_PATH

폴더에는 GTK 파일이 포함되어 있지 않으며 환경 변수도 설정되지 않았습니다. pkg-config깃발은 어디서 구할 수 있나요 ?

답변1

매뉴얼 페이지는 pkg-config이 정보를 자체적으로 얻는 데 유용한 몇 가지 팁을 제공합니다.

PKG-CONFIG DERIVED VARIABLES

       pc_path
              The default search path used by pkg-config  when  searching  for
              .pc files. This can be used in a query for the pkg-config module
              itself itself:
                $ pkg-config --variable pc_path pkg-config

       pcfiledir
              The installed location of the .pc file.  This  can  be  used  to
              query  the location of the .pc file for a particular module, but
              it can also be used to make .pc files relocatable.

예를 들어 시스템/아키텍처의 실제 검색 경로를 보려면 다음을 수행하세요.

$ pkg-config --variable pc_path pkg-config | tr ':' '\n'
/usr/local/lib/x86_64-linux-gnu/pkgconfig
/usr/local/lib/pkgconfig
/usr/local/share/pkgconfig
/usr/lib/x86_64-linux-gnu/pkgconfig
/usr/lib/pkgconfig
/usr/share/pkgconfig

.pc특정 패키지 파일의 위치를 ​​가져옵니다.

$ pkg-config --variable pcfiledir gtk+-3.0
/usr/lib/x86_64-linux-gnu/pkgconfig

답변2

그것들을 찾고 있습니다 /usr/lib/x86_64-linux-gnu/pkgconfig/gtk+-3.0.pc(당신이 그것을 사용한다고 가정합니다 amd64). Debian에서는 pkg-config대상의 다중 아키텍처 디렉터리도 검색됩니다. /usr/lib/$(dpkg-architecture -q DEB_TARGET_MULTIARCH)/pkgconfig.

관련 정보