我对使用" * - devel"感到困惑。包裹,所以我查了一下。根据这篇文章的回答,What are *-devel packages?:
"仅使用库libfoo运行应用程序 需要共享库文件( .so。,例如libfoo.so.1.0) (可能还有一些数据文件和一些特定于版本的符号链接)。
当您真正想要编译使用它的C应用程序时 库你需要头文件( .h,例如foo.h) 描述该应用程序的界面以及无版本 符号链接到共享库( .so,例如libfoo.so - > libfoo.so.1.0)。这些通常捆绑在* -devel包中。"
这对我来说似乎是多余的。对我来说听起来像这样:"要使用库,您只需要libfoo。但是如果你想使用这个库,你需要头文件,因此需要libfoo-devel"
我无法找到头文件重要性的答案。
答案 0 :(得分:1)
使用libfoo
构建应用程序后,您显然不再需要安装任何libfoo
标头了。该应用程序已经编译。您不需要头文件来运行已编译的内容。您唯一需要的是libfoo
本身,因为您的应用程序已链接到它。
这就是你的libfoo
:只是图书馆本身。也许是在运行时需要的偶尔的配置文件或其他东西。
另一方面,如果您需要构建和编译使用libfoo
的源代码,则需要头文件和其他支持文件。无论构建使用libfoo
的源代码需要什么。
这些位是进入libfoo-devel
包的那些位。这就是构建使用libfoo
的源代码所需的东西。