Host supportati

Questo documento descrive le architetture e i sistemi operativi supportati da vcpkg.

Dipendenze

vcpkg dipende anche da alcuni componenti di sistema da installare prima che possa essere eseguito.

Per usare vcpkg, è prima necessario installare alcuni componenti nel sistema.

  • Windows: Visual Studio 2017 o versione successiva.
  • macOS: strumenti da riga di comando Xcode, tar, git, zip, decomprimere e curl. La maggior parte delle porte richiede anche pkg-config. È consigliabile installare queste dipendenze tramite Homebrew, ad esempio tramite un comando brew install zip unzip curl pkgconfigterminale .
  • Linux: compilatore C++ da usare, tar, git, zip, decomprimere e curl. La maggior parte delle porte richiede anche pkg-config. È consigliabile installare queste dipendenze con gestione pacchetti di sistema.
    • piattaforme basate su apt: apt install git curl zip unzip pkgconfig
    • Piattaforme basate su RPM: dnf install git curl zip unzip pkgconfig
    • piattaforme basate su pacman: base-devel git curl zip unzip tar cmake ninja

Per gli utenti linux e macOS, è consigliabile installare anche i pacchetti seguenti: autoconf, autoconf-archive, automakemake e libtool. Anche se non richiesto, questi pacchetti vengono usati spesso dalle librerie disponibili in vcpkg.

Livelli di supporto del registro curato

Il supporto è suddiviso in 4 categorie distinte. Sono:

  • Supporto completo, testato
    Le configurazioni usate per testare regolarmente il registro curato di vcpkg. I problemi in queste configurazioni vengono rilevati rapidamente e risolti dai gestori e dalla community di vcpkg.
  • Supporto completo, previsto
    Le configurazioni considerate con la stessa priorità di "Supporto completo, testato" ma che non fanno parte dei test regolari. In generale, queste configurazioni sono sostanzialmente simili a una delle configurazioni completamente testate.
  • Supporto della community
    Configurazioni che non sono supportate attivamente dai responsabili di vcpkg, ma che godono di un notevole supporto da parte della community. I gestori vcpkg accettano modifiche per risolvere i problemi per queste piattaforme, ma non garantiscono il funzionamento di queste configurazioni. Il team vcpkg è interessato a spostare il maggior numero possibile di piattaforme dal supporto della community al supporto completo.
  • Non supportata
    Configurazioni che non funzionano per qualche motivo. In generale, le PR che correggono esclusivamente queste piattaforme non vengono accettate.

Supporto completo, testato

Le piattaforme completamente supportate e testate sono:

Windows

  • Versione più recente di Windows/Windows Server. Questi sono Windows 11 e Windows Server 2025 a partire da questo articolo.
  • L'ultimo aggiornamento di Visual Studio, Visual Studio 2022 versione 17.14 a partire da questo articolo.

macOS (arm64 / "Apple Silicon")

macOS è progettato per tenere traccia della versione più recente di macOS e della versione contemporanea degli strumenti da riga di comando Xcode. Tuttavia, l'aggiornamento delle macchine macOS è un processo manuale e macOS apporta spesso modifiche che compromettono i test di vcpkg. A partire da questo articolo, stiamo usando:

  • macOS 26.1
  • Strumenti da riga di comando XCode 26.1

Linux

  • La versione LTS più recente di Ubuntu, attualmente 24.04.

Androide

  • Linux 64 bit Android NDK versione r29

Supporto completo, previsto

Windows

  • Windows 10/ Windows Server 2019 e versioni successive
  • Visual Studio 2017 e versioni successive

macOS

  • La versione più recente di macOS, meno 2 versioni principali. Ad esempio, la versione corrente di macOS è macOS 26 Tahoe, quindi ci aspettiamo che vcpkg funzioni fino a macOS 14 Sonoma. Questo è progettato per tenere traccia del supporto di Apple per macOS.
  • Versioni contemporanee degli strumenti da riga di comando Xcode per una determinata versione di macOS.
  • macOS x64

Linux

Intendiamo supportare le build AMD64 delle distribuzioni Linux basate su glibc ancora supportate dal relativo fornitore e rilasciate negli ultimi 5 anni. Esempi:

  • Ubuntu 24.04 e 22.04 sono supportati da Canonical e rilasciati negli ultimi 5 anni, quindi dovrebbero funzionare. Ubuntu 20.04 è ancora nel supporto ESM di Canonical, ma è stato rilasciato più di 5 anni fa, quindi non è più considerato completamente supportato. 23.10 è più recente della versione 22.04, ma non viene considerata completamente supportata perché non è più supportata da Canonical.
  • Red Hat Enterprise Linux 9 è completamente supportato.
  • CentOS e Red Hat Enterprise Linux 8 hanno lasciato il supporto di Red Hat il 31 maggio 2024 e sono stati rilasciati più di 5 anni fa e quindi non sono più supportati.
  • CentOS e RHEL 7 non sono supportati da Red Hat e non dovrebbero funzionare perché sono stati rilasciati più di 5 anni fa. Il fork Oracle Linux ora supportato da Oracle è ancora supportato da Oracle, ma non è ancora previsto che funzioni come è stato rilasciato più di 5 anni fa.
  • Fedora 43 e 42 sono completamente supportati, ma 41 non è più supportato da Fedora.
  • Debian 13 "Trixie", 12 "Bookworm" e 11 "Bullseye" sono tutti supportati da Debian e rilasciati negli ultimi 5 anni. Debian 10 "Buster" ha lasciato il supporto dal progetto Debian nel luglio 2024 e non è quindi supportato da vcpkg.

Si presuppone anche che i sistemi di compilazione degli utenti corrispondano alla versione di Linux in uso e si prendano cura di assicurarsi che i componenti come l'integrazione di CMake in modalità manifesto funzionino con le versioni di queste dipendenze incluse in una delle distribuzioni precedenti. Al momento in cui scriviamo, le versioni delle dipendenze e le distribuzioni associate sono:

  • GCC 10.2.1 (Debian 11)
  • CMake 3.18.4 (Debian 11)
  • Ninja 1.10.0 (Tutti)
  • Curl 7.74.0 (Debian 11)
  • ZIP 3.0 (Tutto)
  • Decomprimi 6.0 (Tutti)

Supporto della comunità

Windows

  • Windows 7/ Windows Server 2008 R2 e versioni successive

vcpkg.exe dovrebbe funzionare su versioni di Windows 7, ma la maggior parte del Registro di sistema curato richiede componenti MSYS2 come pkg-config il quale non supporta più versioni di Windows precedenti alla 8.1.

  • MinGW o Clang come compilatore di compilazione.

Attualmente vcpkg ha una serie di presupposti di Visual Studio; in particolare, le funzionalità che copiano i PDB corrispondenti per i file eseguibili richiedono attualmente dumpbin, un componente di Visual Studio. Abbiamo un certo numero di membri della community dedicati che si preoccupano del supporto di MinGW e includono le toolchain MinGW nella casella.

Linux

  • Linux non AMD64. Siamo estremamente interessati ad aiutare gli utenti che hanno come destinazione arm64 Linux, se può essere illustrato come distribuire file binari che hanno una probabilità elevata di successo in esecuzione su tutti gli hardware linux arm64.
  • Linux senza glibc. Diversi strumenti che vcpkg fornisce normalmente sono distribuiti in formati binari che presuppongono che la libc di sistema sia glibc. Forniamo un file binario di vcpkg basato su muslc, che abbiamo testato per funzionare su Alpine, ma non siamo in grado di fornire versioni basate su muslc di diverse dipendenze, come CMake.

BSD o altri sistemi POSIX

Nelle destinazioni BSD non viene fornito alcun file binario vcpkg per il download. La logica bootstrap scaricherà invece il codice sorgente vcpkg e lo compilerà in locale.

OHOS (OpenHarmony/HarmonyOS)

Le triplette della community arm64-ohos, arm-ohos e x64-ohos sono destinate alla piattaforma OHOS, che è la toolchain e l’ABI condivisi usati sia da OpenHarmony sia da HarmonyOS di Huawei. È possibile usare sia l'OpenHarmony SDK sia l'HarmonyOS SDK; entrambi forniscono la toolchain di OHOS (CMake CMAKE_SYSTEM_NAME=OHOS, triplette di destinazione come aarch64-unknown-linux-ohos). Impostare OHOS_SDK_ROOT per puntare all'SDK installato.

Dipendenze

vcpkg richiede un certo numero di pacchetti software che non fanno parte del sistema operativo e devono essere installati usando la gestione pacchetti:

  • 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

Come in Linux, è consigliabile installare anche alcuni pacchetti aggiuntivi:

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

Avvertenze

  • vcpkg esegue unzip da PATH. Questo potrebbe infine indurre vcpkg a eseguire unzip fornito dal sistema operativo, nonostante ne sia stata installata una versione aggiuntiva tramite il gestore di pacchetti. La PATH variabile di ambiente deve essere configurata per preferire la terza parte unzip rispetto a quella del sistema operativo oppure vcpkg non riuscirà a estrarre la cache binaria.

Non supportato

  • Windows a 32 bit. La compilazione per x86-windows o arm-windows funziona perfettamente, ma vcpkg stesso richiede l’esecuzione di versioni AMD64 degli strumenti di supporto come CMake.
  • Visual Studio 2015 o versioni precedenti.
  • Windows Vista o versioni precedenti.
  • macOS o Linux ospita host precedenti a quelli in una delle altre categorie precedenti.