Поддерживаемые хосты

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

Зависимости

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

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

  • Windows: Visual Studio 2017 или более поздней версии.
  • macOS: инструменты командной строки Xcode, tar, git, zip, unzip и 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 Server. Это Windows 11 и Windows Server 2025 на момент написания этой статьи.
  • Последнее обновление Visual Studio, Visual Studio 2022 версии 17.14 по состоянию на эту запись.

macOS (arm64 / Apple Silicon)

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

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

Линукс

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

Андроид

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

Ожидается полная поддержка

Виндоус

  • Windows 10 / Windows Server 2019 и более поздних версий
  • Visual Studio 2017 и более поздних версий

macOS

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

Линукс

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

  • Ubuntu 24.04 и 22.04 поддерживаются Canonical и выпущены в последние 5 лет, поэтому ожидается, что они будут работать. Ubuntu 20.04 по-прежнему находится на поддержке ESM от Canonical, но была выпущена более 5 лет назад, поэтому мы больше не считаем её полностью поддерживаемой версией. 23.10 новее 22.04, но мы не считаем его полностью поддерживаемым, так как он больше не поддерживается компанией Canonical.
  • Red Hat Enterprise Linux 9 полностью поддерживается.
  • Поддержка CentOS и Red Hat Enterprise Linux 8 со стороны Red Hat завершилась 31 мая 2024 года, а Red Hat Enterprise Linux 8 был выпущен более 5 лет назад, поэтому эти продукты больше не поддерживаются.
  • CentOS и RHEL 7 больше не поддерживаются Red Hat, и не следует ожидать, что они будут работать, поскольку были выпущены более 5 лет назад. Форк Oracle Linux, который сейчас поддерживается Oracle, всё ещё находится на поддержке у Oracle, но при этом не ожидается, что он будет работать, поскольку был выпущен более 5 лет назад.
  • Fedora 43 и 42 полностью поддерживаются, но 41 больше не поддерживается Fedora.
  • Debian 13 "Trixie", 12 "Bookworm" и 11 "Bullseye" поддерживаются Debian и выпущены за последние 5 лет. Debian 10 "Buster" оставил поддержку проекта Debian в июле 2024 года и, таким образом, не поддерживается vcpkg.

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

  • GCC 10.2.1 (Debian 11)
  • CMake 3.18.4 (Debian 11)
  • Ninja 1.10.0 (все)
  • Curl 7.74.0 (Debian 11)
  • zip 3.0 (все)
  • распаковать 6.0 (все)

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

Виндоус

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

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

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

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

Линукс

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

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

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

OHOS (OpenHarmony / HarmonyOS)

Триплеты сообщества arm64-ohos, arm-ohos и x64-ohos предназначены для платформы OHOS, которая представляет собой общий набор инструментов и ABI, используемые как OpenHarmony, так и HarmonyOS от Huawei. Можно использовать либо SDK OpenHarmony, либо SDK HarmonyOS; оба предоставляют набор инструментов OHOS (CMake CMAKE_SYSTEM_NAME=OHOS, целевые триплеты, такие как aarch64-unknown-linux-ohos). Настройте OHOS_SDK_ROOT так, чтобы он указывал на установленный SDK.

Зависимости

для 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 2015 или более ранней версии.
  • Windows Vista или более ранние версии.
  • узлы macOS или Linux, которые старше, чем те, что в одной из других вышеупомянутых категорий.