当前位置:  开发笔记 > 编程语言 > 正文

什么是*-devel包?

如何解决《什么是*-devel包?》经验,为你挑选了2个好方法。

像"libgtk + -devel"或"python-devel"等开发包的效用是什么?它们是否包含图书馆的来源?它与libgtk +等非开发包有什么不同?



1> Joachim Saue..:

这些*-devel包(通常*-dev在基于Debian的发行版中调用)通常是针对给定库编译代码所需的所有文件.

对于使用库运行应用程序,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包(除了文档和附加文件)工具).


几乎。.so文件位于-devel软件包中;普通共享库带有`.so。*`,因为它包含一个SONAME。链接器使用`.so`文件,而运行时使用`.so。*`库。
谢谢,我在文本中包含了该更正。

2> AndiDog..:

它们通常包含必要的标头和库.例如,如果要在自己的应用程序中嵌入Python解释器,python-devel将提供所需的Python头文件和库.还包括一些其他工具和文档(例如开发人员手册或代码示例).

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有