您好我的新安装的Fedora Linux发行版有问题。 pkg-config应该提供链接器标志,类似于pkg-config --cflags libboost-dev
。但是pkg-config找不到大多数库包。 pkg-config --list-all
表明它只能找到几个包。
我在网上搜索并了解到pkg-config通过在预先定义的路径中搜索* .pc文件来查找包。但是对于大多数软件包(预安装和用户安装),都没有这样的.pc文件。因此,每次安装软件包时都不会生成* .pc文件。
1,如何为已安装的每个软件包提供.pc文件? 2,如何确保每次安装新软件包时都会提供.pc文件?
答案 0 :(得分:1)
Fedora packaging guidelines提供有关应该创建包的方式以及它们应包含的文件的信息。
关于-devel
packages的部分特别相关。
突出显示某些部分
有些类型的文件几乎总是属于
-devel
包:
- 头文件(foo.h),通常位于/ usr / include
中- 当程序包未提供任何匹配的共享库文件时的静态库文件。有关此方案的详细信息,请参阅Packaging:Guidelines#Packaging_Static_Libraries。
- Unversioned共享系统库文件,当存在匹配的版本化共享系统库文件时。
在下一节中,关于Pkgconfig Files,该页面会通知读者
pkgconfig(.pc)文件的位置取决于它们的用例。由于它们几乎总是用于开发目的,因此应将它们放在-devel包中。
一个合理的例外是主包本身是未安装在用户运行时的开发工具,例如gcc或gdb。
因此,为了将头文件提供给#include
或.pc
文件来告诉编译器标志,您需要xyz-devel
包,其中xyz
}是标准包的名称。
如果您不想/不想猜测它们,那么找到要安装的软件包的相应名称的有用网站是Fedora Packages search page。