像"libgtk+- devel“或者"python-devel”这样的devel包有什么用呢?它们包含库的源代码吗?它与libgtk+等非devel包有什么不同?
发布于 2010-03-02 04:26:19
*-devel包(在基于Debian的发行版中通常称为*-dev )通常是针对给定库编译代码所需的所有文件。
要使用库libfoo运行应用程序,只需要实际的共享库文件(例如*.so.*,例如libfoo.so.1.0) (可能还需要一些数据文件和一些特定于版本的符号链接)。
当您真正想要编译一个使用该库的C应用程序时,您将需要描述该应用程序接口的头文件(例如*.h,例如foo.h)以及一个指向共享库的无版本符号链接(*.so,例如libfoo.so -> libfoo.so.1.0)。这些通常捆绑在*-devel包中。
有时,*-devel包还包括静态编译版本的库(例如*.a,例如libfoo.a),以防您想要构建一个完全不依赖动态库的完整独立应用程序。
其他语言(如Java、Python等)使用一种不同的方式来注释库的API (有效地包括实际库中的所有必要信息),因此通常不需要单独的*-devel包(可能除了文档和其他工具)。
发布于 2010-03-02 04:24:34
它们通常包含必要的头文件和库。例如,如果您想要将Python解释器嵌入到您自己的应用程序中,python-devel将提供您需要的Python头文件和库。还包括一些额外的工具和文档(例如,开发人员手册或代码示例)。
https://stackoverflow.com/questions/2358801
复制相似问题