Что на самом деле содержат * -dev пакеты в репозиториях пакетов Linux? - PullRequest
54 голосов
/ 21 июля 2009

Мой вопрос очень простой, как и мои знания прямо сейчас.

Я давний пользователь Linux, но только недавно увлекся программированием. Я вижу, что многие популярные приложения в репозиториях Ubuntu содержат пакеты -dev (например, pidgin-dev в дополнение к pidgin ). У меня вопрос такой:

Что находится в этих пакетах? Как загрузка pidgin-dev помогает в разработке для Pidgin? Это так же просто, как проверка зависимостей для инструментов, необходимых для создания плагинов для данного приложения?

Я надеялся, что в пакетах -dev будет значительное количество документации, но если она есть, я не могу понять, как получить к ней доступ. Я думаю о чем-то похожем на man-страницу, но полезно для редактирования кода.

Любой совет, более чем приветствуется!

Ответы [ 4 ]

40 голосов
/ 21 июля 2009

Пакеты *-dev чаще всего содержат заголовки, связанные с интерфейсом библиотеки. Следующими наиболее распространенными являются файлы конфигурации пакета (*.pc), описывающие параметры сборки и статически связанные библиотеки.

В общем, если вы хотите узнать содержимое установленного вами пакета, dpkg -L pkgname вам это даст. Программа apt-file может сказать вам то же самое для любого пакета в репозиториях.

Также обратите внимание, что ответы Уильяма Перселла и caf содержат полезные дополнительные детали. Если вы найдете их полезными, сделайте это.

26 голосов
/ 21 июля 2009

(отказ от ответственности: я знаком с Debian, но не с Ubuntu, поэтому, хотя почти наверняка применимо все, что я пишу ниже, есть вероятность, что это не так.)

Еще одним элементом в пакете * -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 и ссылаться на версию библиотеки, на которую ссылается эта ссылка.

15 голосов
/ 21 июля 2009

Пакеты -dev обычно содержат заголовочные файлы C и статически скомпилированные версии библиотечных файлов (расширение .a). Иногда они содержат дополнительную документацию и примеры или даже вспомогательные приложения.

2 голосов
/ 21 июля 2009

Этот пакет содержит заголовки и другие файлы разработки, не входящие в основной пакет pidgin. Установите -dev, если вы хотите скомпилировать свои собственные плагины.

...