Freigeben über


Unterstützte Hosts

In diesem Dokument werden die Von vcpkg unterstützten Architekturen und Betriebssysteme beschrieben.

Abhängigkeiten

vcpkg hängt auch von einigen Systemkomponenten ab, die installiert werden müssen, bevor sie ausgeführt werden können.

Um vcpkg zu verwenden, müssen einige Komponenten zuerst auf dem System installiert werden.

  • Windows: Visual Studio 2015 oder höher.
  • macOS: Xcode-Befehlszeilentools, tar, git, zip, entzippen und curl. Die meisten Ports benötigen pkg-configauch . Wir empfehlen die Installation dieser Abhängigkeiten über Homebrew, z. B. über einen Terminalbefehl brew install zip unzip curl pkgconfig.
  • Linux: Ein C++-Compiler für die Verwendung, tar, git, zip, entzippen und curl. Die meisten Ports benötigen pkg-configauch . Es wird empfohlen, diese Abhängigkeiten mit Ihrem Systempaket-Manager zu installieren.
    • apt-basierte Plattformen: apt install git curl zip unzip pkgconfig
    • rpm-basierte Plattformen: dnf install git curl zip unzip pkgconfig
    • pacmanbasierte Plattformen: base-devel git curl zip unzip tar cmake ninja

Für Linux- und macOS-Benutzer empfehlen wir außerdem, die folgenden Pakete zu installieren: autoconf, , autoconf-archive, automakeund make libtool. Diese Pakete werden zwar häufig von Bibliotheken verwendet, die in vcpkg verfügbar sind.

Kuratierte Registrierungsunterstützungsstufen

Die Unterstützung wird in vier verschiedene Kategorien unterteilt. Es sind:

  • Vollständiger Support, getestet
    Die Konfigurationen, die zum regelmäßigen Testen der kuratierten Registrierung von vcpkg verwendet werden. Probleme in diesen Konfigurationen werden von den Betreuern und Communitys von vcpkg schnell gefunden und behoben.
  • Vollständiger Support, erwartet
    Konfigurationen, die mit der gleichen Priorität behandelt werden wie "Vollständiger Support, getestet", aber nicht Teil der regulären Tests sind. Im Allgemeinen sind diese Konfigurationen wesentlich mit einer der vollständig getesteten Konfigurationen vergleichbar.
  • Communitysupport
    Konfigurationen, die von den Betreuern von vcpkg nicht aktiv unterstützt werden, weisen jedoch erhebliche Communityinvestitionen auf. vcpkg-Betreuer akzeptieren Änderungen, um Probleme für diese Plattformen zu beheben, stellen jedoch keine Garantien dafür bereit, dass diese Konfigurationen funktionieren. Das vcpkg-Team ist daran interessiert, so viele Plattformen aus der Community-Unterstützung wie möglich in den vollen Support zu verschieben.
  • Nicht unterstützt
    Konfigurationen, die aus irgendeinem Grund nicht funktionieren. Im Allgemeinen werden PRs, die nur diese Plattformen reparieren, nicht akzeptiert.

Vollständiger Support, getestet

Die vollständig unterstützten, getesteten Plattformen sind:

Windows

  • Die neueste Windows/Windows Server-Version. Hierbei handelt es sich um Windows 11 und Windows Server 2022.
  • Das neueste Visual Studio-Update, Visual Studio 2022, Version 17.11, ab diesem Schreiben.

macOS

macOS soll die neueste Version von macOS und die aktuelle Version der Xcode-Befehlszeilentools nachverfolgen. Das Aktualisieren von macOS-Computern ist jedoch ein manueller Prozess, und macOS ändert häufig Dinge in der Art und Weise, wie vcpkg Tests unterbrechen. Ab diesem Schreiben verwenden wir Folgendes:

  • macOS 14.5
  • XCode-Befehlszeilentools 15.3

Linux

  • Die neueste LTS-Version von Ubuntu, derzeit 22.04.

Android

  • Linux 64-Bit Android NDK Version r26d

Vollständiger Support, erwartet

Windows

  • Windows 8.1/ Windows Server 2016 und höher
  • Visual Studio 2015 und höher

macOS

  • Die neueste Version von macOS, minus 2 Hauptversionen. Beispielsweise ist die aktuelle Version von macOS macOS 15 Sequoia, daher erwarten wir, dass vcpkg so weit wie macOS 13 Ventura funktioniert. Dies soll mit der eigenen Unterstützung von Apple für macOS nachverfolgt werden.
  • Aktuelle Versionen der Xcode-Befehlszeilentools für eine bestimmte Version von macOS.

Linux

Wir beabsichtigen, AMD64-Builds von glibc-basierten Linuxes weiterhin zu unterstützen, die in den letzten 5 Jahren veröffentlicht wurden. Beispiele:

  • Ubuntu 24.04, 22.04 und 20.04 werden von Canonical unterstützt und innerhalb der letzten 5 Jahre veröffentlicht, sodass sie voraussichtlich funktionieren. Ubuntu 18.04 wird weiterhin von Canonical unterstützt, wurde aber vor mehr als 5 Jahren veröffentlicht, daher betrachten wir es nicht mehr vollständig unterstützt. 20.10 ist neuer als 20.04, aber wir betrachten sie nicht vollständig, da sie nicht mehr von Canonical unterstützt wird.
  • Red Hat Enterprise Linux 9 wird vollständig unterstützt.
  • CentOS und Red Hat Enterprise Linux 8 verließen den Support von Red Hat am 31. Mai 2024 und wurde vor mehr als 5 Jahren veröffentlicht und wird daher nicht mehr unterstützt.
  • CentOS und RHEL 7 haben keine Unterstützung von Red Hat, und es wird nicht erwartet, dass sie funktionieren, da sie vor mehr als 5 Jahren veröffentlicht wurden. Die oracle Linux Fork wird jetzt von Oracle unterstützt, ist immer noch in Der Unterstützung von Oracle, aber immer noch nicht erwartet, wie es vor mehr als 5 Jahren veröffentlicht wurde.
  • Fedora 40 und 39 werden vollständig unterstützt, aber 38 wird von Fedora nicht mehr unterstützt.
  • Debian 12 "Bookworm" und 11 "Bullseye" werden alle von Debian unterstützt und in den letzten 5 Jahren veröffentlicht. Debian 10 "Buster" verließ die Unterstützung des Debian-Projekts im Juli 2024 und wird daher von vcpkg nicht unterstützt.

Wir gehen auch davon aus, dass die Buildsysteme der Benutzer mit der verwendeten Version von Linux übereinstimmen und sicherstellen, dass Komponenten wie unsere Manifestmodus-CMake-Integration mit den Versionen dieser Abhängigkeiten funktionieren, die mit einer der oben genannten Distros enthalten sind. Ab diesem Schreiben sind diese Abhängigkeitsversionen und die zugehörigen Distros:

  • GCC 9.4.0 (Ubuntu 20.04)
  • CMake 3.16.3 (Ubuntu 20.04)
  • Ninja 1.10.0 (Alle)
  • Curl 7.68 (Ubuntu 20.04)
  • zip 3.0 (Alle)
  • entzippen 6.0 (Alle)

Communityunterstützung

Windows

  • Windows 7 / Windows Server 2008 R2 und höher

vcpkg.exe sollte auf Windows 7-Varianten funktionieren, aber die überwiegende Mehrheit der kuratierten Registrierung erfordert MSYS2-Komponenten, pkg-config die versionen von Windows, die älter als 8.1 sind, nicht mehr unterstützen.

  • MinGW oder Clang als Buildcompiler.

Derzeit verfügt vcpkg über eine Reihe von Visual Studio-Annahmen; Insbesondere unsere Features, die übereinstimmende PDBs für ausführbare Dateien kopieren, erfordern derzeit dumpbin, eine Visual Studio-Komponente. Wir haben eine Reihe von dedizierten Communitymitgliedern, die sich um minGW-Support kümmern, und fügen MinGW-Toolkette in die Box ein.

Linux

  • Nicht-AMD64 Linux. Wir sind äußerst interessiert an Hilfe von Leuten, die arm64 Linux verwenden, wenn es gezeigt werden kann, wie Binärdateien bereitgestellt werden können, die eine hohe Erfolgswahrscheinlichkeit haben, die auf allen arm64 Linux-Hardware ausgeführt wird.
  • Nicht-glibc Linux. Verschiedene Tools vcpkg bietet normalerweise für Sie eine Verteilung in binären Formen, die erwarten, dass das System libc glibc ist. Wir stellen eine muslc-basierte Binärdatei von vcpkg bereit, die wir für die Arbeit auf Alpine getestet haben, aber nicht in der Lage sind, Muslc-basierte Kopien einer Reihe von Abhängigkeiten wie CMake bereitzustellen.

BSDs oder andere POSIX-Systeme

Auf BSD-Zielen wird keine vcpkg-Binärdatei zum Download bereitgestellt. Stattdessen lädt die Bootstrap-Logik den vcpkg-Quellcode herunter und kompiliert ihn lokal.

Abhängigkeiten

vcpkg erfordert eine Reihe von Softwarepaketen, die nicht Teil des Betriebssystems sind und mit dem Paket-Manager installiert werden müssen:

  • 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

Wie unter Linux wird empfohlen, auch einige zusätzliche Pakete zu installieren:

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

Vorbehalte

  • vcpkg wird von unzip PATH. Schließlich kann dies dazu führen, dass vcpkg das Betriebssystem ausführt, das trotz unzip eines zusätzlichen Betriebssystems mit dem Paket-Manager installiert wurde. Die PATH Umgebungsvariable muss so konfiguriert werden, dass der Drittanbieter unzip vor dem Betriebssystem des Betriebssystems bevorzugt wird, oder vcpkg kann den binären Cache nicht extrahieren.

Nicht unterstützt

  • 32-Bit-Windows. Die Ausrichtung auf x86-Fenster oder Arm-Fenster funktioniert einfach gut, aber vcpkg selbst erwartet, dass AMD64-Kopien von Supporttools wie CMake ausgeführt werden.
  • Visual Studio 2013 oder früher.
  • Windows Vista oder früher.
  • macOS- oder Linux-Hosts, die älter als die in den Kategorien "Vollständig unterstützt " sind.