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 2015 o versione successiva.
- macOS: strumenti da riga di comando Xcode, tar, git, zip, decomprimere e curl. La maggior parte delle porte richiede
pkg-config
anche . È consigliabile installare queste dipendenze tramite Homebrew, ad esempio tramite un comandobrew install zip unzip curl pkgconfig
terminale . - Linux: compilatore C++ da usare, tar, git, zip, decomprimere e curl. La maggior parte delle porte richiede
pkg-config
anche . È 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
- piattaforme basate su apt:
Per gli utenti linux e macOS, è consigliabile installare anche i pacchetti seguenti: autoconf
, autoconf-archive
, automake
make
e libtool
. Anche se non richiesto, questi pacchetti vengono usati spesso dalle librerie disponibili in vcpkg.
Livelli di supporto del Registro di sistema curati
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
Le configurazioni non supportate attivamente dai gestori di vcpkg, ma hanno un notevole investimento nella 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 richieste pull che fissano solo queste piattaforme non vengono accettate.
Supporto completo, testato
Le piattaforme completamente supportate e testate sono:
Finestre
- Versione più recente di Windows/Windows Server. Questi sono Windows 11 e Windows Server 2022 a partire da questo articolo.
- L'ultimo aggiornamento di Visual Studio, Visual Studio 2022 versione 17.11 a partire da questo articolo.
macOS
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 dei computer macOS è un processo manuale e macOS cambia spesso le cose in modi in cui interrompono i test di vcpkg. A partire da questo articolo, stiamo usando:
- macOS 14.5
- Strumenti da riga di comando XCode 15.3
Linux
- La versione LTS più recente di Ubuntu, attualmente 22.04.
Android
- Linux 64 bit Android NDK versione r26d
Supporto completo, previsto
Finestre
- Windows 8.1 / Windows Server 2016 e versioni successive
- Visual Studio 2015 e versioni successive
macOS
- La versione più recente di macOS, meno 2 versioni principali. Ad esempio, la versione corrente di macOS è macOS 15 Sequoia, quindi ci aspettiamo che vcpkg funzioni fino a macOS 13). 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.
Linux
Si prevede di supportare le build AMD64 di Linux basati su glibc ancora in supporto dal fornitore di distribuzione rilasciato negli ultimi 5 anni. Esempi:
- Ubuntu 24.04, 22.04 e 20.04 sono supportati da Canonical e rilasciati negli ultimi 5 anni, quindi dovrebbero funzionare. Ubuntu 18.04 è ancora supportato da Canonical, ma è stato rilasciato più di 5 anni fa, quindi non viene più considerato completamente supportato. 20.10 è più recente della 20.04, ma non è completamente supportato perché non è più supportato 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 40 e 39 sono completamente supportati, ma 38 non è più supportato da Fedora.
- Debian 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. A partire da questo articolo, le versioni delle dipendenze e le distribuzioni associate sono:
- GCC 9.4.0 (Ubuntu 20.04)
- CMake 3.16.3 (Ubuntu 20.04)
- Ninja 1.10.0 (Tutti)
- Curl 7.68 (Ubuntu 20.04)
- ZIP 3.0 (Tutto)
- decomprimere 6.0 (Tutto)
Supporto della community
Finestre
- 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.
- Non-glibc Linux. Diversi strumenti vcpkg in genere forniscono per essere distribuiti in moduli binari che prevedono che il libc di sistema sia glibc. Viene fornito un file binario basato su muslc di vcpkg testato per lavorare su Alpine, ma non è possibile arredare copie basate su muslc di una serie di 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.
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
Precisazioni
- vcpkg viene eseguito
unzip
daPATH
. Alla fine, questo potrebbe causare l'esecuzione del sistema operativo da parte di vcpkg,unzip
nonostante ne sia stato installato uno aggiuntivo usando la gestione pacchetti. LaPATH
variabile di ambiente deve essere configurata per preferire la terza parteunzip
rispetto a quella del sistema operativo oppure vcpkg non riuscirà a estrarre la cache binaria.
Non supportato
- Windows a 32 bit. La destinazione x86-windows o arm-windows funziona bene, ma vcpkg stesso si aspetta di eseguire copie AMD64 di strumenti di supporto come CMake.
- Visual Studio 2013 o versioni precedenti.
- Windows Vista o versioni precedenti.
- macOS o Linux ospita host precedenti a quelli nelle categorie Completamente supportate .