Мне было интересно, всегда ли загрузка разработчиков так же полна, как их обычные аналоги?

2 ответа2

1

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

Однако все приложения, которые вы устанавливаете из пакетов, будут использовать общие библиотеки, которые не предоставляются пакетами -dev , поэтому вам также необходимо установить базовый пакет.

Почти все библиотечные пакеты, заканчивающиеся на -dev , зависят от базового пакета, поэтому, если вы выберете libpng-dev и установите его, менеджер пакетов должен автоматически загрузить libpng . Если вы загрузите libpng-dev самостоятельно и попытаетесь установить его, установка, вероятно, завершится неудачно, так как для нее также требуется указать libpng . Обычно есть параметры командной строки для принудительной установки без проверки зависимостей, но они используются редко и не рекомендуются.

Итак, вы должны действительно загрузить базовый пакет, а также -dev , но обычно об этом позаботится менеджер пакетов.

1

Я предполагаю, что вы имеете в виду имена пакетов, как в Debian и Ubuntu.

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

Например, пакет zlib1g-dev содержит файлы, необходимые для создания приложений с использованием zlib1g . zlib1g просто содержит библиотеку, чтобы существующие приложения могли использовать эту функциональность. Для компиляции требуются файлы -dev, потому что компилятор должен знать, откуда берутся функции, но после компиляции программы требуется только обычный пакет, потому что скомпилированное приложение знает, как загрузить библиотеку и использовать функции внутри.

Если вы не компилируете приложения, использующие библиотеку, вручную, вы, как правило, не используете пакеты -dev - вместо этого вам потребуются пакеты не -dev . Тем не менее, если вы компиляции приложений, вы хотите их обоих - пакет -dev не содержит саму библиотеку (но , как правило , зависит от библиотеки, так что вы получите это тот путь).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .