Lire en anglais

Partager via


Hôtes pris en charge

Ce document décrit les architectures et les systèmes d’exploitation pris en charge par vcpkg.

Les dépendances

vcpkg dépend également de quelques composants système à installer avant de pouvoir s’exécuter.

Pour utiliser vcpkg, quelques composants doivent d’abord être installés sur le système.

  • Windows : Visual Studio 2015 ou version ultérieure.
  • macOS : Outils en ligne de commande Xcode, tar, git, zip, décompresser et curl. La plupart des ports ont également besoin pkg-config. Nous vous recommandons d’installer ces dépendances via Homebrew, par exemple via une commande brew install zip unzip curl pkgconfigde terminal.
  • Linux : compilateur C++ à utiliser, tar, git, zip, décompresser et curl. La plupart des ports ont également besoin pkg-config. Nous vous recommandons d’installer ces dépendances avec votre gestionnaire de package système.
    • plateformes apt-based : apt install git curl zip unzip pkgconfig
    • plateformes rpm : dnf install git curl zip unzip pkgconfig
    • plateformes pacman : base-devel git curl zip unzip tar cmake ninja

Pour les utilisateurs Linux et macOS, nous vous recommandons également d’installer les packages suivants : autoconf, , autoconf-archiveautomakeet make libtool. Bien qu’ils ne soient pas obligatoires, ces packages sont souvent utilisés par les bibliothèques disponibles dans vcpkg.

Niveaux de prise en charge du Registre organisés

La prise en charge est divisée en 4 catégories distinctes. Il s'agit de :

  • Prise en charge complète, testée
    Configurations utilisées pour tester régulièrement le registre organisé de vcpkg. Les problèmes de ces configurations sont rapidement trouvés et résolus par les maintenances et la communauté de vcpkg..
  • Prise en charge complète attendue
    Les configurations traitées avec la même priorité que « Prise en charge complète, testées » mais qui ne font pas partie des tests standard. En général, ces configurations sont sensiblement similaires à l’une des configurations entièrement testées.
  • Support de la communauté
    Les configurations qui ne sont pas activement prises en charge par les mainteneurs de vcpkg, mais qui ont un investissement communautaire important. Les maintenances vcpkg acceptent les modifications pour résoudre les problèmes de ces plateformes, mais ne garantissent pas que ces configurations fonctionnent. L’équipe vcpkg s’intéresse au déplacement autant de plateformes hors support communautaire que possible.
  • Non pris en charge
    Configurations qui ne fonctionnent pas pour une raison quelconque. En général, les demandes de tirage corrigent uniquement ces plateformes ne sont pas acceptées.

Prise en charge complète, testée

Les plateformes testées entièrement prises en charge sont les suivantes :

Windows

  • Dernière version de Windows/Windows Server. Il s’agit de Windows 11 et Windows Server 2022 à partir de cette écriture.
  • La dernière mise à jour de Visual Studio, Visual Studio 2022 version 17.11 à partir de cette écriture.

macOS

macOS est destiné à suivre la dernière version de macOS et la version contemporaine des outils en ligne de commande Xcode. Toutefois, la mise à jour des machines macOS est un processus manuel et macOS modifie fréquemment les choses de manière à interrompre les tests de vcpkg. À partir de cette écriture, nous utilisons :

  • macOS 14.5
  • Outils en ligne de commande XCode 15.3

Linux

  • La dernière version LTS d’Ubuntu, actuellement 22.04.

Android

  • Linux 64 bits Android NDK version r26d

Prise en charge complète attendue

Windows

  • Windows 8.1 / Windows Server 2016 et versions ultérieures
  • Visual Studio 2015 et versions ultérieures

macOS

  • La dernière version de macOS, moins 2 versions majeures. Par exemple, la version actuelle de macOS est macOS 15 Sequoia. Nous nous attendons donc à ce que vcpkg fonctionne jusqu’à macOS 13 Ventura. Cela est destiné à suivre la prise en charge d’Apple pour macOS.
  • Versions contemporaines des outils en ligne de commande Xcode pour une version donnée de macOS.

Linux

Nous avons l’intention de prendre en charge les builds AMD64 de Linux basés sur glibc toujours en support de leur fournisseur de distribution publié au cours des 5 dernières années. Exemples :

  • Ubuntu 24.04, 22.04 et 20.04 sont pris en charge par Canonical et publiés au cours des 5 dernières années. Ils sont donc censés fonctionner. Ubuntu 18.04 est toujours pris en charge par Canonical mais a été publié il y a plus de 5 ans. Nous ne considérons donc plus qu’il est entièrement pris en charge. La version 20.10 est plus récente que 20.04, mais nous ne considérons pas qu’elle est entièrement prise en charge, car elle n’est plus prise en charge par Canonical.
  • Red Hat Enterprise Linux 9 est entièrement pris en charge.
  • CentOS et Red Hat Enterprise Linux 8 ont quitté le support de Red Hat le 31 mai 2024 et ont été publiés il y a plus de 5 ans, et ne sont donc plus pris en charge.
  • CentOS et RHEL 7 ne sont pas pris en charge par Red Hat et ne sont pas censés fonctionner comme ils ont été libérés il y a plus de 5 ans. Le fork Oracle Linux désormais pris en charge par Oracle est toujours pris en charge par Oracle, mais il n’est toujours pas prévu de fonctionner comme il a été publié il y a plus de 5 ans.
  • Fedora 40 et 39 sont entièrement pris en charge, mais 38 n’est plus pris en charge par Fedora.
  • Debian 12 « Bookworm » et 11 « Bullseye » sont tous pris en charge par Debian et publiés au cours des 5 dernières années. Debian 10 « Buster » a quitté la prise en charge du projet Debian en juillet 2024 et n’est donc pas pris en charge par vcpkg.

Nous partons également du principe que les systèmes de génération des utilisateurs correspondent à la version de Linux qu’ils utilisent, et veillez à ce que les composants tels que l’intégration CMake en mode manifeste fonctionnent avec les versions de ces dépendances qui sont fournies avec l’une des distributions ci-dessus. À ce stade, ces versions de dépendance et les distributions associées sont les suivantes :

  • GCC 9.4.0 (Ubuntu 20.04)
  • CMake 3.16.3 (Ubuntu 20.04)
  • Ninja 1.10.0 (Tout)
  • Curl 7.68 (Ubuntu 20.04)
  • zip 3.0 (Tout)
  • décompresser 6.0 (Tout)

Support de la communauté pour les objets blob

Windows

  • Windows 7 / Windows Server 2008 R2 et versions ultérieures

vcpkg.exe doit fonctionner sur les versions de Windows 7, mais la grande majorité du registre organisé nécessite des composants MSYS2 comme pkg-config ceux qui ne prennent plus en charge les versions de Windows antérieures à 8.1.

  • MinGW ou Clang en tant que compilateur de build.

Actuellement, vcpkg a un certain nombre d’hypothèses visual Studio ; En particulier, nos fonctionnalités qui copient les fichiers PDF correspondants pour les exécutables nécessitent actuellement une liaison de vidage, un composant Visual Studio. Nous avons un certain nombre de membres de la communauté dédiés qui s’intéressent à la prise en charge de MinGW cependant, et incluent des chaînes d’outils MinGW dans la boîte.

Linux

  • Linux non AMD64. Nous sommes extrêmement intéressés par l’aide des personnes ciblant arm64 Linux s’il peut être montré comment fournir des fichiers binaires qui ont une probabilité élevée de succès s’exécutant sur tous les matériels Linux arm64.
  • Linux non glibc. Plusieurs outils vcpkg fournissent normalement pour vous être distribués dans des formulaires binaires qui s’attendent à ce que la bibliothèque système soit glibc. Nous fournissons un binaire muslc de vcpkg que nous avons testé pour travailler sur Alpine, mais ne pouvons pas fournir des copies muslc basées sur un certain nombre de dépendances comme CMake.

Disques BSD ou autres systèmes POSIX

Sur les cibles BSD, aucun binaire vcpkg n’est fourni pour le téléchargement. Au lieu de cela, la logique de démarrage télécharge le code source vcpkg et la compile localement.

Les dépendances

vcpkg nécessite un certain nombre de packages logiciels qui ne font pas partie du système d’exploitation et doivent être installés à l’aide du gestionnaire de package :

  • 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

Comme sur Linux, il est recommandé d’installer également des packages supplémentaires :

  • FreeBSD : pkg install -y autoconf autoconf-archive gmake pkgconf python
  • OpenBSD : pkg_add -Iz autoconf-2.71 autoconf-archive gmake pkgconf python3

Mises en garde

  • vcpkg s’exécute unzip à partir de PATH. Finalement, cela peut entraîner l’exécution de vcpkg dans le système d’exploitation fourni unzip malgré une installation supplémentaire à l’aide du gestionnaire de package. La PATH variable d’environnement doit être configurée pour préférer le tiers unzip à celui du système d’exploitation, ou vcpkg ne parvient pas à extraire son cache binaire.

Non pris en charge

  • Windows 32 bits. Le ciblage de fenêtres x86 ou arm-windows fonctionne très bien, mais vcpkg lui-même s’attend à exécuter des copies AMD64 d’outils de prise en charge comme CMake.
  • Visual Studio 2013 ou version antérieure.
  • Windows Vista ou version antérieure.
  • macOS ou Linux héberge plus anciens que ceux des catégories entièrement prises en charge .