Прочитать на английском

Поделиться через


Поддерживаемые узлы

В этом документе описаны архитектуры и операционные системы, поддерживаемые vcpkg.

Зависимости

Vcpkg также зависит от нескольких системных компонентов, которые необходимо установить перед запуском.

Чтобы использовать vcpkg, сначала необходимо установить несколько компонентов в системе.

  • Windows: Visual Studio 2015 или более поздней версии.
  • macOS: средства командной строки Xcode, tar, git, zip, распакуйте и curl. Большинство портов также требуются pkg-config. Мы рекомендуем установить эти зависимости через Homebrew, например с помощью команды brew install zip unzip curl pkgconfigтерминала.
  • Linux: компилятор C++ для использования, tar, git, zip, unzip и curl. Большинство портов также требуются pkg-config. Мы рекомендуем установить эти зависимости с помощью диспетчера системных пакетов.
    • Платформы на основе apt: apt install git curl zip unzip pkgconfig
    • Платформы на основе rpm: dnf install git curl zip unzip pkgconfig
    • платформы на основе pacman: base-devel git curl zip unzip tar cmake ninja

Для пользователей Linux и macOS также рекомендуется установить следующие пакеты: autoconf, , autoconf-archiveautomakemake и libtool. Хотя эти пакеты не требуются, эти пакеты часто используются библиотеками, доступными в vcpkg.

Уровни поддержки курированного реестра

Поддержка разбивается на 4 отдельные категории. В их число входят:

  • Полная поддержка, протестированная
    Конфигурации, используемые для тестирования курированного реестра vcpkg на регулярной основе. Проблемы в этих конфигурациях быстро обнаруживаются и устраняются средствами поддержки vcpkg и сообществом.
  • Полная поддержка, ожидаемое
    Конфигурации, обрабатываемые с тем же приоритетом, что и "Полная поддержка, протестированные", но которые не являются частью регулярных тестов. Как правило, эти конфигурации существенно похожи на одну из полностью протестированных конфигураций.
  • Поддержка сообщества
    Конфигурации, которые не поддерживаются обслуживающими клиентами vcpkg, но имеют существенные инвестиции в сообщество. Поддержка vcpkg принимает изменения для устранения проблем на этих платформах, но не гарантирует, что эти конфигурации работают. Команда vcpkg заинтересована в перемещении как можно больше платформ из поддержки сообщества в полную поддержку.
  • Не поддерживается
    Конфигурации, которые не работают по какой-то причине. Как правило, PR, исправляющие только эти платформы, не принимаются.

Полная поддержка, протестированная

Полностью поддерживаемые тестируемые платформы:

Windows

  • Последний выпуск Windows или Windows Server. Это Windows 11 и Windows Server 2022 на момент написания этой статьи.
  • Последнее обновление Visual Studio, Visual Studio 2022 версии 17.11 по состоянию на эту запись.

macOS

macOS предназначен для отслеживания последней версии macOS и современной версии средств командной строки Xcode. Однако обновление компьютеров macOS является ручным процессом, и macOS часто изменяет вещи таким образом, чтобы нарушить тестирование vcpkg. По состоянию на этот текст мы используем:

  • macOS 14.5
  • Средства командной строки XCode 15.3

Linux

  • Последний выпуск LTS Ubuntu, в настоящее время 22.04.

Android

  • Linux 64-разрядная версия Android NDK версии r26d

Полная поддержка, ожидаемое

Windows

  • Windows 8.1 / Windows Server 2016 и более поздних версий
  • Visual Studio 2015 и более поздней версии

macOS

  • Последняя версия macOS, минус 2 основных версий. Например, текущая версия macOS — macOS 15 Sequoia, поэтому мы ожидаем, что vcpkg будет работать до macOS 13 Ventura. Это предназначено для отслеживания собственной поддержки Apple для macOS.
  • Современные версии средств командной строки Xcode для данного выпуска macOS.

Linux

Мы намерены поддерживать сборки AMD64 на основе glibc linuxes по-прежнему в поддержке от своего поставщика дистрибутивов, выпущенного за последние 5 лет. Примеры:

  • Ubuntu 24.04, 22.04 и 20.04 поддерживаются каноническим и выпущены за последние 5 лет, поэтому они, как ожидается, будут работать. Ubuntu 18.04 по-прежнему поддерживается каноническим, но был выпущен более 5 лет назад, поэтому мы больше не считаем его полностью поддерживаемым. 20.10 больше 20.04, но мы не считаем его полностью поддерживаемым, так как он больше не поддерживается от Канонического.
  • Red Hat Enterprise Linux 9 полностью поддерживается.
  • CentOS и Red Hat Enterprise Linux 8 покинули поддержку Red Hat 31 мая 2024 года и выпустили более 5 лет назад и, таким образом, не поддерживается.
  • CentOS и RHEL 7 не поддерживают Red Hat, и не должны работать, как они были выпущены более 5 лет назад. Oracle Linux fork теперь поддерживает Oracle по-прежнему в поддержке Oracle, но по-прежнему не ожидается работать, как он был выпущен более 5 лет назад.
  • Fedora 40 и 39 полностью поддерживаются, но 38 больше не поддерживаются Fedora.
  • Debian 12 "Bookworm", и 11 "Bullseye" все поддерживаются Debian и выпущены за последние 5 лет. Debian 10 "Buster" оставил поддержку проекта Debian в июле 2024 года и, таким образом, не поддерживается vcpkg.

Мы также предполагаем, что системы сборки пользователей будут соответствовать версии Linux, которую они используют, и заботиться о том, чтобы компоненты, такие как наша интеграция с режимом манифеста CMake, будут работать с версиями этих зависимостей, которые приходят с одним из указанных выше дистрибутивов. По состоянию на эту запись эти версии зависимостей и связанные дистрибутивы:

  • GCC 9.4.0 (Ubuntu 20.04)
  • CMake 3.16.3 (Ubuntu 20.04)
  • Ninja 1.10.0 (все)
  • Curl 7.68 (Ubuntu 20.04)
  • zip 3.0 (все)
  • распакуть 6.0 (все)

Поддержка сообщества

Windows

  • Windows 7 / Windows Server 2008 R2 и более поздних версий

vcpkg.exe должны работать в версиях Windows 7, но подавляющее большинство курированного реестра требует компонентов MSYS2, таких как pkg-config , которые больше не поддерживают версии Windows старше 8.1.

  • MinGW или Clang в качестве компилятора сборки.

В настоящее время vcpkg имеет ряд предположений Visual Studio; В частности, наши функции, которые копируют соответствующие PDOB-файлы для исполняемых файлов, в настоящее время требуют дампа, компонента Visual Studio. У нас есть несколько выделенных членов сообщества, которые заботятся о поддержке MinGW, хотя и включают в себя цепочку инструментов MinGW в поле.

Linux

  • Linux, отличный от AMD64. Мы очень заинтересованы в помощи от людей, предназначенных для Arm64 Linux, если это можно показать, как доставлять двоичные файлы, которые имеют высокую вероятность успешного выполнения на всех оборудовании linux arm64.
  • Linux, отличный от glibc. Несколько инструментов vcpkg обычно предоставляются в двоичных формах, которые ожидают, что системный libc будет glibc. Мы предоставляем двоичный файл на основе муслки vcpkg, который мы проверили для работы на Alpine, но не в состоянии предоставить муслк на основе копий ряда зависимостей, таких как CMake.

BSD или другие системы POSIX

В целевых объектах BSD двоичный файл vcpkg не предоставляется для скачивания. Вместо этого логика начальной загрузки скачит исходный код vcpkg и скомпилирует его локально.

Зависимости

для vcpkg требуется ряд программных пакетов, которые не входят в операционную систему и должны быть установлены с помощью диспетчера пакетов:

  • FreeBSD: pkg install -y bash cmake curl git ninja zip unzip
  • OpenBSD: pkg_add -Iz bash cmake coreutils curl git ninja zip unzip-6.10-iconv

Как и в Linux, также рекомендуется установить некоторые дополнительные пакеты:

  • FreeBSD: pkg install -y autoconf autoconf-archive gmake pkgconf python
  • OpenBSD: pkg_add -Iz autoconf-2.71 autoconf-archive gmake pkgconf python3

Предупреждения

  • vcpkg выполняется unzip из PATH. В конечном итоге это может привести к тому, что vcpkg будет выполнять операционную систему, предоставленную unzip , несмотря на установку дополнительной версии с помощью диспетчера пакетов. Переменная PATH среды должна быть настроена, чтобы предпочесть unzip стороннюю сторону для одной операционной системы или vcpkg не удастся извлечь двоичный кэш.

Не поддерживается

  • 32-разрядная версия Windows. Нацеливание на x86-windows или arm-windows работает просто хорошо, но сам vcpkg ожидает запуска копий инструментов поддержки AMD64, таких как CMake.
  • Visual Studio 2013 или более ранней версии.
  • Windows Vista или более ранние версии.
  • Узлы macOS или Linux старше, чем в категориях полностью поддерживаемых .