1

嗨,我新安装的 Fedora linux 发行版出现问题。pkg-config 应该提供链接器标志,例如pkg-config --cflags libboost-dev. 但是 pkg-config 找不到大多数库包。pkg-config --list-all表明它只能找到几个包。

我在网上搜索并了解到 pkg-config 通过在 *.pc 文件的预定义路径中搜索来查找包。但是对于大多数软件包(预安装和用户安装),没有这样的 .pc 文件。因此,每次安装软件包时都不会生成 *.pc 文件。

1、如何为每个已经安装的包提供一个.pc 文件?2、如何确保每次安装新包时都提供 .pc 文件?

4

1 回答 1

1

Fedora 打包指南提供了有关创建包的方式以及它们应该包含的文件的信息。

关于-devel的部分特别相关。

突出某些部分

有一些类型的文件几乎总是属于一个-devel包:

  • 头文件 (foo.h),通常位于 /usr/include
  • 包不提供任何匹配的共享库文件时的静态库文件。有关此方案的更多信息,请参阅Packaging:Guidelines#Packaging_Static_Libraries 。
  • 未版本化的共享系统库文件,当匹配的版本化共享系统库文件也存在时。

在下一节中,关于Pkgconfig Files,该页面通知读者

pkgconfig(.pc) 文件的位置取决于它们的用例。由于它们几乎总是用于开发目的,因此应将它们放在 -devel 包中。

一个合理的例外是当主包本身是一个未安装在用户运行时中的开发工具时,例如 gcc 或 gdb。

因此,为了将头文件#include.pc文件告诉您编译器标志,您将需要xyz-devel包,其中xyz是标准包的名称。

如果您不能/不想猜测它们,一个有用的网站可以找到要安装的软件包的适当名称,这是Fedora 软件包搜索页面

于 2015-10-11T11:37:56.677 回答