Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этом документе описаны архитектуры и операционные системы, поддерживаемые 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
- Платформы, основанные на apt:
Для пользователей 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, которые старше, чем те, что в одной из других вышеупомянутых категорий.