Obsługiwane hosty

W tym dokumencie opisano architektury i systemy operacyjne obsługiwane przez program vcpkg.

Zależności

Narzędzie vcpkg również zależy od kilku składników systemu, które należy zainstalować, zanim będzie można go uruchomić.

Aby użyć narzędzia vcpkg, należy najpierw zainstalować kilka składników w systemie.

  • Windows: Visual Studio 2017 lub nowszym.
  • macOS: Narzędzia wiersza poleceń Xcode, tar, git, zip, unzip i curl. Większość portów również wymaga pkg-config. Zalecamy zainstalowanie tych zależności za pośrednictwem oprogramowania Homebrew, na przykład za pomocą polecenia brew install zip unzip curl pkgconfigterminalu .
  • Linux: kompilator języka C++ do użycia, tar, git, zip, rozpakuj i curl. Większość portów również wymaga pkg-config. Zalecamy zainstalowanie tych zależności za pomocą menedżera pakietów systemowych.
    • platformy bazujące na apt: apt install git curl zip unzip pkgconfig
    • platformy oparte na pakietach RPM: dnf install git curl zip unzip pkgconfig
    • platformy oparte na menedżerze pakietów pacman: base-devel git curl zip unzip tar cmake ninja

W przypadku użytkowników systemów Linux i macOS zalecamy również zainstalowanie następujących pakietów: autoconf, , autoconf-archiveautomakemake i .libtool Chociaż nie są wymagane, te pakiety są często używane przez biblioteki dostępne w narzędziu vcpkg.

Poziomy obsługi nadzorowanych rejestrów

Obsługa jest podzielona na 4 odrębne kategorie. Są to:

  • Pełna obsługa, przetestowana
    Konfiguracje używane do regularnego testowania nadzorowanego rejestru vcpkg. Problemy w tych konfiguracjach można szybko znaleźć i rozwiązać przez osoby odpowiedzialne za program vcpkg i społeczność.
  • Pełne wsparcie, oczekiwane
    Konfiguracje traktowane z tym samym priorytetem co "Pełna obsługa, przetestowana", ale które nie są częścią regularnych testów. Ogólnie rzecz biorąc, te konfiguracje są zasadniczo podobne do jednej z w pełni przetestowanych konfiguracji.
  • Pomoc techniczna społeczności
    Konfiguracje, które nie są aktywnie obsługiwane przez osoby odpowiedzialne za program vcpkg, ale mają znaczne inwestycje w społeczność. Osoby odpowiedzialne za program vcpkg akceptują zmiany w celu rozwiązania problemów dla tych platform, ale nie gwarantują, że te konfiguracje działają. Zespół vcpkg jest zainteresowany przeniesieniem jak największej liczby platform z pomocy technicznej społeczności do pełnej pomocy technicznej, jak to możliwe.
  • Nieobsługiwane
    Konfiguracje, które nie działają z jakiegoś powodu. Ogólnie PR-y naprawiające wyłącznie te platformy nie są akceptowane.

Pełna obsługa, przetestowana

W pełni obsługiwane, przetestowane platformy to:

Windows

  • Najnowsza wersja systemu Windows/Windows Server. Są to systemy Windows 11 i Windows Server 2025 na moment pisania tego tekstu.
  • Najnowsza aktualizacja programu Visual Studio, Visual Studio 2022 w wersji 17.14 w momencie pisania.

macOS (arm64 / "Apple Silicon")

System macOS jest przeznaczony do śledzenia najnowszej wersji systemu macOS i współczesnej wersji narzędzi wiersza polecenia Xcode. Jednak aktualizowanie maszyn z systemem macOS jest procesem ręcznym, a system macOS często zmienia elementy w sposób, który przerywa testowanie vcpkg. W związku z tym pisaniem używamy:

  • macOS 26.1
  • Narzędzia wiersza polecenia XCode 26.1

Linux

  • Najnowsza wersja LTS systemu Ubuntu, obecnie 24.04.

Android

  • 64-bitowy Linux Android NDK wersja r29

Oczekiwane pełne wsparcie

Windows

  • Windows 10 / Windows Server 2019 lub nowszy
  • Program Visual Studio 2017 lub nowszy

macOS

  • Najnowsza wersja systemu macOS, minus 2 wersje główne. Na przykład bieżąca wersja systemu macOS to macOS 26 Tahoe, więc oczekujemy, że vcpkg będzie działać już od systemu macOS 14 Sonoma. Ma to na celu zachowanie zgodności z oficjalnym wsparciem Apple dla macOS.
  • Współczesne wersje narzędzi wiersza polecenia Xcode dla danej wersji systemu macOS.
  • macOS x64

Linux

Zamierzamy obsługiwać kompilacje dla architektury AMD64 w dystrybucjach systemu Linux opartych na glibc, wydanych w ciągu ostatnich 5 lat i nadal objętych wsparciem ze strony dostawcy dystrybucji. Przykłady:

  • Ubuntu 24.04 i 22.04 są obsługiwane przez canonical i wydane w ciągu ostatnich 5 lat, więc oczekuje się, że będą działać. Ubuntu 20.04 jest nadal obsługiwany przez FIRMĘ Canonical, ale został wydany ponad 5 lat temu, więc nie uważamy go już za w pełni obsługiwane. Wersja 23.10 jest nowsza niż 22.04, ale nie uważamy jej za w pełni obsługiwaną, ponieważ nie jest już obsługiwana przez firmę Canonical.
  • System Red Hat Enterprise Linux 9 jest w pełni obsługiwany.
  • CentOS i Red Hat Enterprise Linux 8 opuściły wsparcie firmy Red Hat 31 maja 2024 r. i zostały wydane ponad 5 lat temu, a tym samym nie są już obsługiwane.
  • CentOS i RHEL 7 nie są obsługiwane przez Red Hat i nie powinny działać, ponieważ zostały wydane ponad 5 lat temu. Rozwidlenie Oracle Linux, obecnie wspierane przez Oracle, nadal jest objęte wsparciem Oracle, ale nie należy oczekiwać, że będzie działać, ponieważ zostało wydane ponad 5 lat temu.
  • Fedora 43 i 42 są w pełni obsługiwane, ale 41 nie jest już obsługiwane przez Fedorę.
  • Debian 13 "Trixie", 12 "Bookworm" i 11 "Bullseye" są obsługiwane przez Debiana i wydane w ciągu ostatnich 5 lat. Debian 10 "Buster" opuścił wsparcie z projektu Debian w lipcu 2024 r., a tym samym nie jest obsługiwany przez vcpkg.

Zakładamy również, że systemy kompilacji użytkowników będą zgodne z używaną wersją systemu Linux i zadbają o to, aby składniki, takie jak nasza integracja narzędzia CMake w trybie manifestu, współdziałały z wersjami tych zależności, które są dostarczane z jedną z powyższych dystrybucji. W chwili pisania tego tekstu wersje tych zależności i powiązane dystrybucje są następujące:

  • GCC 10.2.1 (Debian 11)
  • CMake 3.18.4 (Debian 11)
  • Ninja 1.10.0 (wszystko)
  • Curl 7.74.0 (Debian 11)
  • zip 3.0 (wszystko)
  • UnZip 6.0 (wszystkie)

Pomoc społecznościowa

Windows

  • Windows 7/ Windows Server 2008 R2 lub nowszy

vcpkg.exe powinna działać w wersjach systemu Windows 7, ale zdecydowana większość wyselekcjonowanych rejestrów wymaga składników MSYS2, takich jak pkg-config te, które nie obsługują już wersji systemu Windows starszych niż 8.1.

  • MinGW lub Clang jako kompilator kompilacji.

Obecnie vcpkg opiera się na szeregu założeń dotyczących programu Visual Studio; w szczególności nasze funkcje kopiujące odpowiadające pliki PDB dla plików wykonywalnych wymagają obecnie narzędzia dumpbin, składnika programu Visual Studio. Mamy jednak wielu zaangażowanych członków społeczności, którym zależy na wsparciu dla MinGW, i dlatego dołączamy zestawy narzędzi MinGW w pakiecie.

Linux

  • System Linux inny niż AMD64. Jesteśmy bardzo zainteresowani pomocą ze strony osób pracujących nad Linuksem na architekturze ARM64, jeśli można pokazać, jak dostarczać binaria, które z dużym prawdopodobieństwem będą działać poprawnie na całym sprzęcie ARM64 z Linuksem.
  • System Linux inny niż glibc. Kilka narzędzi, które vcpkg zwykle dostarcza, jest rozpowszechnianych w postaci binarnej i zakłada, że systemowa biblioteka libc to glibc. Udostępniamy binarną wersję vcpkg opartą na musl, którą przetestowaliśmy pod kątem działania w Alpine, ale nie jesteśmy w stanie dostarczyć opartych na musl wersji binarnych wielu zależności, takich jak CMake.

systemy BSD lub inne systemy POSIX

Dla platform BSD nie jest udostępniany do pobrania plik binarny vcpkg. Zamiast tego logika bootstrap pobierze kod źródłowy vcpkg i skompiluje go lokalnie.

OHOS (OpenHarmony / HarmonyOS)

Triplety społeczności arm64-ohos, arm-ohos i x64-ohos są przeznaczone dla platformy OHOS, która stanowi wspólny łańcuch narzędzi i ABI używane zarówno przez OpenHarmony, jak i HarmonyOS firmy Huawei. Można użyć zarówno pakietu OpenHarmony SDK, jak i pakietu HarmonyOS SDK; oba udostępniają łańcuch narzędzi OHOS (element CMAKE_SYSTEM_NAME=OHOS narzędzia CMake, trójki docelowe, takie jak aarch64-unknown-linux-ohos). Ustaw OHOS_SDK_ROOT wartość , aby wskazać zainstalowany zestaw SDK.

Zależności

Narzędzie vcpkg wymaga wielu pakietów oprogramowania, które nie są częścią systemu operacyjnego i muszą być zainstalowane przy użyciu menedżera pakietów:

  • 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

Podobnie jak w systemie Linux zaleca się również zainstalowanie niektórych dodatkowych pakietów:

  • Freebsd: pkg install -y autoconf autoconf-archive gmake pkgconf python
  • Openbsd: pkg_add -Iz autoconf-2.71 autoconf-archive gmake pkgconf python3

Zastrzeżenia

  • Narzędzie vcpkg wykonuje polecenie unzip z pliku PATH. W końcu może to spowodować wykonanie systemu unzip operacyjnego przez program vcpkg pomimo zainstalowania dodatkowego narzędzia przy użyciu menedżera pakietów. Zmienna środowiskowa PATH musi być skonfigurowana tak, aby preferować komponent unzip pochodzący od strony trzeciej zamiast wersji dostarczanej przez system operacyjny, w przeciwnym razie program vcpkg nie będzie w stanie wyodrębnić swojej pamięci podręcznej binariów.

Nieobsługiwane

  • 32-bitowy system Windows. Kierowanie kompilacji na platformy x86-windows lub arm-windows działa bez problemu, ale sam vcpkg oczekuje uruchamiania wersji AMD64 narzędzi pomocniczych, takich jak CMake.
  • Visual Studio 2015 lub starsze.
  • System Windows Vista lub starszy.
  • Hosty z systemem macOS lub Linux starsze niż te wymienione w jednej z innych powyższych kategorii.