Linux软件包储存库中的* -dev软件包实际上包含什么?

我的问题是非常基本的,就像我现在所知道的那样。

我是一个长期的Linux用户,但最近才对编程感兴趣。 我发现Ubuntu存储库中的许多stream行的应用程序都具有-dev软件包(例如,除了pidgin之外的pidgin-dev )。 我的问题是这样的:

这些包里有什么? 下载pidgin-dev如何帮助Pidgin开发? 它是否像创build给定应用程序的插件所需的工具的依赖性检查一样简单?

我希望在-dev包中会有大量的文档,但是如果有的话,我不知道如何访问它。 我正在想像一个手册页,但对编辑代码有用。

任何和所有的build议比欢迎!

*-dev包通常包含与库接口相关的头文件。 接下来最常用的是描述构build选项和静态链接库的package-config文件( *.pc )。

一般来说,如果你想知道你已经安装的软件包的内容, dpkg -L pkgname会帮你。 apt-file程序可以告诉你存储库中的任何软件包。

请注意,William Pursell和caf的答案也包含有用的附加细节。 如果您发现自己的input有帮助,请加倍努力。

(免责声明:我对Debian非常熟悉,但不熟悉Ubuntu,所以尽pipe几乎可以肯定,我写下的所有内容都适用,但有可能不是。

* -dev包中的另一项是/usr/lib/lib*.so链接。 libfoo0软件包将安装文件/usr/lib/libfoo.so.0.0,而libfoo-dev安装链接/usr/lib/libfoo.so.0和/usr/lib/libfoo.so。 这是允许您同时安装libfoo0和libfoo1的机制,以便需要旧库的软件可以使用新库与软件共存。 当你安装libfoo-dev时,任何被编译的软件都将遵循* .so链接并链接到该链接引用的库的版本。

-dev包通常包含C头文件和库文件的静态编译版本(.a扩展名)。 有时它们包含额外的文档和示例,甚至包含帮助程序。

该软件包包含主pidgin软件包中未包含的头文件和其他开发文件。 如果你想编译自己的插件,请安装-dev。