究竟什么是开发标题?

时间:2016-09-05 02:52:52

标签: c++

我对使用" * - 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"

我无法找到头文件重要性的答案。

1 个答案:

答案 0 :(得分:1)

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

这就是你的libfoo:只是图书馆本身。也许是在运行时需要的偶尔的配置文件或其他东西。

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

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