我在 Debian buster 上。我正在阅读 pkg-config 的手册页,发现 .pc 文件可以在很多地方列出。从手册页 -
pkg-config 从特殊元数据文件中检索有关包的信息。这些文件以包命名,并具有 .pc 扩展名。在大多数系统上,pkg-config 在 /usr/lib/pkgconfig、/usr/share/pkgconfig、/usr/local/lib/pkgconfig 和 /usr/local/share/pkgconfig 中查找这些文件。它还将查看由 PKG_CONFIG_PATH 环境变量指定的以冒号分隔(在 Windows 上以分号分隔)的目录列表。
- 从 pkg-config 手册页
果然我看到 /usr/lib/pkgconfig/, /usr/lib/x86_64-linux-gnu/pkgconfig/ 和 /usr/share/pkgconfig/ 中有包,而我可以理解 /usr/local/。 . 部分用于本地编译/构建的应用程序。我不明白为什么 /usr/lib/pkgconfig/ 和 /usr/share/pkgconfig 之间有区别。是否与某些需要在用户空间https://en.wikipedia.org/wiki/User_space中或完全其他的东西有关?
区别与架构独立性有关。
.pc
可能是特定于体系结构的文件进入/usr/lib
(在 Debian 上,/usr/lib/pkgconfig
对于 pre-multiarch 软件包,/usr/lib/<triplet>/pkgconfig
对于 multiarch 软件包),肯定与.pc
体系结构无关的文件可以进入(只有,这里不需要区分三元组)。/usr/share
/usr/share/pkgconfig