Что такое * -devel пакеты? - PullRequest
30 голосов
/ 01 марта 2010

Что такое утилита пакетов devel, таких как "libgtk + -devel" или "python-devel" и т. Д.? Содержат ли они источник библиотеки? Чем он отличается от пакетов не-devel, таких как libgtk +?

Ответы [ 2 ]

49 голосов
/ 01 марта 2010

Пакеты *-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 ( за исключением, может быть, документации и дополнительных инструментов).

7 голосов
/ 01 марта 2010

Они обычно содержат необходимые заголовки и библиотеки. Например, python-devel предоставит заголовки и библиотеки Python, которые вам нужны, если вы хотите встроить интерпретатор Python в свое собственное приложение. Также включены некоторые дополнительные инструменты и документация (например, руководство для разработчика или примеры кода).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...