什么是*的开发包? [英] What are *-devel packages?
问题描述
什么是devel包像libgtk + -devel或中的python-DEVEL等实用工具?难道它们所包含的库源?它是如何不同于非devel包状libgtk +?
What is the utility of devel packages like "libgtk+-devel" or "python-devel" etc.? Do they contain source of the library? How is it different from non-devel packages like libgtk+?
推荐答案
的 * - DEVEL
包(通常称为 * - 开发
基于Debian的发行版),通常所有必要的编译code对给定库中的文件。
The *-devel
packages (usually called *-dev
in Debian-based distributions) are usually all the files necessary to compile code against a given library.
有关使用该库运行的应用程序 libfoo的
只有actualy共享库文件( *。所以*
,例如 libfoo.so.1.0
)的需要(再加上可能还有一些数据文件和一些特殊版本的符号连接)。
For running an application using the library libfoo
only the actualy shared library file (*.so.*
, for example libfoo.so.1.0
) are needed (plus possibly some data files and some version-specific symlinks).
当你真的想编译使用该库则需要在头文件的C应用程序( *的.h
,例如富.H
),描述应用程序的接口,以及一个版本,少的符号链接到共享库( *。所以
,例如 libfoo.so
- > libfoo.so.1.0
)。这些通常被捆绑在。* - DEVEL
包
When you actually want to compile a C application that uses that library you'll need the header files (*.h
, for example foo.h
) that describe the interface of that application as well as a version-less symlink to the shared library (*.so
, for example libfoo.so
-> libfoo.so.1.0
). Those are usually bundled in the *-devel
packages.
有时 * - DEVEL
套餐还包括库静态编译版本( *一个
,例如。 libfoo.a中
)的情况下,你想建立一个不依赖于动态库都完整的独立的应用程序。
Sometimes the *-devel
packages also include statically compiled versions of the libraries (*.a
, for example libfoo.a
) in case you want to build a complete stand-alone application that doesn't depend on dynamic libraries at all.
其他语言(如Java,Python和...)使用注意库的API(有效包括实际库中的所有必要信息)以不同的方式,因此,通常需要没有单独的 * - DEVEL
包(可能除了文档和其他工具)
Other languages (such as Java, Python, ...) use a different way of noting the API of a library (effectively including all the necessary information in the actual library) and thus usually need no separate *-devel
packages (except maybe for documentation and additional tools).
这篇关于什么是*的开发包?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!