开发标题到底是什么?

What exactly are development headers?

本文关键字:是什么 标题 开发      更新时间:2023-10-16

我对"*-devel"包的用法感到困惑,所以我查了一下。根据这篇文章的回答,什么是*-devel包?:

"只使用libfoo库运行应用程序共享库文件(.so。,例如libfoo.so.1.0)(可能还有一些数据文件和一些特定于版本的符号链接)。

当你真正想编译一个使用它的C应用程序时库中需要的头文件(.h,例如foo.h描述该应用程序的接口以及无版本到共享库的符号链接()。例如libfoo。所以- - - - - ->libfoo.so.1.0)。这些通常捆绑在*-devel包中。"

这对我来说似乎是多余的。对我来说,它听起来是这样的:"要使用这个库,你只需要libfoo。但是如果你想使用这个库,你需要头文件,因此libfoo-devel"

关于头文件的重要性,我找不到答案。

使用libfoo构建应用程序后,显然不再需要安装libfoo的任何头文件。应用程序已经编译完成。您不需要头文件来运行已经编译的东西。您唯一需要的是libfoo本身,因为您的应用程序链接到它。

这就是你的libfoo:只是库本身。可能是一个偶尔的配置文件,或者其他东西,在运行时需要。

另一方面,如果您需要构建和编译使用libfoo的源代码,则需要头文件和其他支持文件。构建使用libfoo的源代码所需要的一切。

这些位是进入libfoo-devel包的位。这是构建使用libfoo的源代码所需要的东西。