vcpkg: ein C++-Paket-Manager für Windows, Linux und macOSvcpkg: a C++ package manager for Windows, Linux, and macOS

vcpkg ist ein Befehlszeilen-Paket-Manager für C++.vcpkg is a command-line package manager for C++. Er vereinfacht den Erwerb und die Installation von Drittanbieterbibliotheken für Windows, Linux und macOS erheblich.It greatly simplifies the acquisition and installation of third-party libraries on Windows, Linux, and macOS. Wenn Ihr Projekt Drittanbieterbibliotheken verwendet, wird empfohlen, dass Sie vcpkg verwenden, um diese zu installieren.If your project uses third-party libraries, we recommend that you use vcpkg to install them. Vcpkg unterstützt sowohl Open Source- als auch proprietäre Bibliotheken.vcpkg supports both open-source and proprietary libraries. Alle Bibliotheken im vcpkg-Windows-Katalog wurden auf ihre Kompatibilität mit Visual Studio 2015, Visual Studio 2017 und Visual Studio 2019 getestet.All libraries in the vcpkg Windows catalog have been tested for compatibility with Visual Studio 2015, Visual Studio 2017, and Visual Studio 2019. Zwischen den Windows- und Linux-/macOS-Katalogen unterstützt vcpkg jetzt mehr als 1.900 Bibliotheken.Between the Windows and Linux/macOS catalogs, vcpkg now supports over 1900 libraries. Die C++-Community fügt beiden Katalogen weiterhin neue Bibliotheken hinzu.The C++ community is adding more libraries to both catalogs on an ongoing basis.

Einfach aber flexibelSimple yet flexible

Mit einem einzigen Befehl können Sie Quellen herunterladen und eine Bibliothek erstellen.With a single command, you can download sources and build a library. vcpkg ist selbst ein Open-Source-Projekt, das auf GitHub verfügbar ist.vcpkg is itself an open-source project, available on GitHub. Sie können Ihre privaten vcpkg-Klone beliebig anpassen.It's possible to customize your private vcpkg clones in any way you like. Sie können z. B. andere Bibliotheken oder andere Versionen von Bibliotheken als diejenigen angeben, die im öffentlichen Katalog zu finden sind.For example, specify different libraries, or different versions of libraries than the ones found in the public catalog. Sie können auf einem einzelnen Computer über mehrere vcpkg-Klone verfügen.You can have multiple clones of vcpkg on a single machine. Jeder kann so festgelegt werden, dass eine benutzerdefinierte Sammlung von Bibliotheken mit Ihren bevorzugten Kompilierungsschaltern erzeugt wird.Each one may be set to produce a custom collection of libraries, with your preferred compilation switches. Jeder Klon ist eine eigenständige Umgebung mit ihrer eigenen Kopie von „vcpkg.exe“, die nur für die eigene Hierarchie verwendet wird.Each clone is a self-contained environment with its own copy of vcpkg.exe that operates only on its own hierarchy. vcpkg wird keinen Umgebungsvariablen hinzugefügt und verfügt über keine Abhängigkeit von der Windows-Registrierung oder Visual Studio.vcpkg isn't added to any environment variables, and has no dependency on the Windows Registry or Visual Studio.

Quellen statt BinärdateienSources, not binaries

Im Fall von Bibliotheken im Windows-Katalog lädt vcpkg Quellen anstelle von Binärdateien herunter1.For libraries in the Windows catalog, vcpkg downloads sources instead of binaries1. Es kompiliert diese Quellen mithilfe der aktuellsten Version von Visual Studio, die es findet.It compiles those sources using the most recent version of Visual Studio that it can find. In C++ ist es wichtig, dass Ihr Anwendungscode und alle Bibliotheken, die Sie verwenden, mit dem gleichen Compiler und der gleichen Compilerversion kompiliert werden.In C++, it's important that both your application code and any libraries you use are compiled by the same compiler, and compiler version. Durch die Verwendung von vcpkg eliminieren Sie das Risiko nicht übereinstimmender Binärdateien und die Probleme, die dadurch entstehen können, oder reduzieren dieses zumindest entscheidend.By using vcpkg, you eliminate or at least greatly reduce the potential for mismatched binaries and the problems they can cause. In Teams, in denen eine bestimmte Version eines Compilers verwendet wird, kann ein Teammitglied mit vcpkg Quellen herunterladen und Binärdateien kompilieren.In teams that are standardized on a specific version of a compiler, one team member can use vcpkg to download sources and compile a set of binaries. Anschließend kann es mit dem Exportbefehl die Binärdateien und Header für andere Teammitglieder zippen.Then they can use the export command to zip up the binaries and headers for other team members. Weitere Informationen finden Sie nachstehend unter Exportieren von kompilierten Binärdateien und Headern.For more information, see Export compiled binaries and headers below.

Sie können auch einen vcpkg-Klon erstellen, in dessen Auflistung der Ports private Bibliotheken enthalten sind.You can also create a vcpkg clone that has private libraries in the ports collection. Fügen Sie einen Port hinzu, der Ihre vorab erstellten Binärdateien und Header herunterlädt.Add a port that downloads your prebuilt binaries and headers. Schreiben Sie dann eine portfile.cmake-Datei, mit der diese Dateien einfach an den bevorzugten Speicherort kopiert werden.Then, write a portfile.cmake file that simply copies those files to the preferred location.

1 Hinweis: Für einige proprietäre Bibliotheken stehen keine Quellen zur Verfügung. vcpkg lädt in diesem Fall kompatible, vorab erstellte Binärdateien herunter.1 Note: sources are unavailable for some proprietary libraries. In these cases, vcpkg downloads compatible prebuilt binaries.

InstallationInstallation

Klonen Sie das vcpkg-Repository von GitHub: https://github.com/Microsoft/vcpkg.Clone the vcpkg repo from GitHub: https://github.com/Microsoft/vcpkg. Sie können es in jeden beliebigen Ordner herunterladen.You can download to any folder location you prefer. Dieser Speicherort ist das vcpkg-Stammverzeichnis.This location is the vcpkg root. Wechseln Sie nach Abschluss des Downloads in der Befehlsshell zu diesem Verzeichnis.Once the download is complete, change to that directory in your command shell.

Führen Sie im vcpkg-Stammverzeichnis den vcpkg-Bootstrapper aus:In the vcpkg root directory, run the vcpkg bootstrapper:

  • bootstrap-vcpkg.bat (Windows)bootstrap-vcpkg.bat (Windows)
  • ./bootstrap-vcpkg.sh (Linux, macOS)./bootstrap-vcpkg.sh (Linux, macOS)

Unter Linux oder macOS müssen Sie vcpkg-Befehle möglicherweise mithilfe von ./ in den folgenden Beispielen mit einem Präfix versehen.On Linux or macOS, you may need to prefix vcpkg commands by using ./ in the examples that follow. Denken Sie daran, diese Befehle vom vcpkg-Stammverzeichnis aus auszuführen.Remember to run these commands from the vcpkg root directory.

Suchen nach der Liste verfügbarer BibliothekenSearch the list of available libraries

Geben Sie an der Eingabeaufforderung vcpkg search ein, um festzustellen, welche Pakete verfügbar sind.To see what packages are available, type vcpkg search at the command prompt.

Dieser Befehl zählt die Steuerelementdateien in den vcpkg-/ports-Unterordnern auf.This command enumerates the control files in the vcpkg/ports subfolders. Es wird eine Liste wie die folgende angezeigt:You'll see a listing like this:

ace       6.4.3   The ADAPTIVE Communication Environment
anax      2.1.0-1 An open source C++ entity system. \<https://github...
antlr4    4.6-1   ANother Tool for Language Recognition
apr       1.5.2   The Apache Portable Runtime (APR) is a C library ...
asio      1.10.8  Asio is a cross-platform C++ library for network ...
assimp    3.3.1   The Open Asset import library
atk       2.24.0  GNOME Accessibility Toolkit
...

Sie können nach einem Muster filtern, z. B. vcpkg search ta :You can filter on a pattern, for example vcpkg search ta:

botan       2.0.1      A cryptography library written in C++11
portaudio   19.0.6.00  PortAudio Portable Cross-platform Audio I/O API P...
taglib      1.11.1-2   TagLib Audio Meta-Data Library

Installieren einer Bibliothek auf Ihrem lokalen ComputerInstall a library on your local machine

Nachdem Sie den Namen einer Bibliothek mithilfe von vcpkg search erhalten, verwenden Sie vcpkg install zum Herunterladen der Bibliothek, und kompilieren Sie diese.After you get the name of a library by using vcpkg search, you use vcpkg install to download the library and compile it. Vcpkg verwendet die Portdatei der Bibliothek im ports-Verzeichnis.vcpkg uses the library's portfile in the ports directory. Wenn kein Tripel angegeben wird, installiert und kompiliert vcpkg für das Standardtripel der Zielplattform: Windows (x86), linux.cmake (x64) oder osx.cmake (x64).If a triplet isn't specified, vcpkg installs and compiles for the default triplet for the target platform: x86-windows, x64-linux.cmake, or x64-osx.cmake.

Bei Linux-Bibliotheken muss gcc für vcpkg auf dem lokalen Computer installiert sein.For Linux libraries, vcpkg depends on gcc being installed on the local machine. Unter macOS verwendet vcpkg Clang.On macOS, vcpkg uses Clang.

Wenn die Portdatei Abhängigkeiten angibt, lädt vcpkg diese ebenso herunter und installiert sie.When the portfile specifies dependencies, vcpkg downloads and installs them too. Nach dem Herunterladen erstellt vcpkg die Bibliothek und verwendet dabei das gleiche Buildsystem wie die Bibliothek.After downloading, vcpkg builds the library by using the same build system the library uses. CMake- und (unter Windows) MSBuild-Projekte werden bevorzugt, jedoch wird MAKE zusammen mit jedem anderen Buildsystem unterstützt.CMake and (on Windows) MSBuild projects are preferred, but MAKE is supported along with any other build system. Wenn vcpkg das angegebene Buildsystem auf dem lokalen Computer nicht finden kann, lädt es dieses herunter und installiert es.If vcpkg can't find the specified build system on the local machine, it downloads and installs it.

> vcpkg install boost:x86-windows

The following packages will be built and installed:
    boost:x86-windows
  * bzip2:x86-windows
  * zlib:x86-windows
Additional packages (*) will be installed to complete this operation.

Verwenden Sie bei CMake-Projekten CMAKE_TOOLCHAIN_FILE, um Bibliotheken mit find_package() zur Verfügung zu stellen.For CMake projects, use CMAKE_TOOLCHAIN_FILE to make libraries available with find_package(). Beispiel für Linux oder macOS:For example, on Linux or macOS:

cmake .. -DCMAKE_TOOLCHAIN_FILE=vcpkg/scripts/buildsystems/vcpkg.cmake

Unter Windows:On Windows:

cmake .. -DCMAKE_TOOLCHAIN_FILE=vcpkg\scripts\buildsystems\vcpkg.cmake

Einige Bibliotheken enthalten installierbare Optionen.Some libraries include installable options. Wenn Sie z. B. nach der curl-Bibliothek suchen, wird auch eine Liste der unterstützten Optionen in eckigen Klammern angezeigt:For example, when you search for the curl library, you'll also see a list of supported options in square brackets:

> vcpkg search curl
curl                 7.68.0-3         A library for transferring data with URLs
curl[tool]                            Builds curl executable
curl[non-http]                        Enables protocols beyond HTTP/HTTPS/HTTP2
curl[http2]                           HTTP2 support
curl[ssl]                             Default SSL backend
curl[ssh]                             SSH support via libssh2
curl[openssl]                         SSL support (OpenSSL)
curl[winssl]                          SSL support (Secure Channel / "WinSSL")
curl[mbedtls]                         SSL support (mbedTLS)
curl[sectransp]                       SSL support (sectransp)
curl[c-ares]                          c-ares support
curl[sspi]                            SSPI support
curl[brotli]                          brotli support (brotli)
curlpp               2018-06-15-3     C++ wrapper around libcURL

In diesem Fall sind die eckigen Klammern [ und ] Literale und keine Metazeichen.In this case, the square brackets [ and ] are literals, not metacharacters.

Sie können eine bestimmte Option zum Installieren in der Befehlszeile angeben.You can specify a specific option to install on the command line. Verwenden Sie beispielsweise den Befehl vcpkg install curl[ssl]:x86-windows , um Bibliotheken für curl mithilfe des Standard-SSL-Back-Ends für Windows zu installieren.For example, to install libraries for curl using the default SSL backend for Windows, use the vcpkg install curl[ssl]:x86-windows command. Der Befehl installiert alle erforderlichen Voraussetzungen, einschließlich der Kernbibliothek, falls erforderlich:The command installs any required prerequisites, including the core library, if needed:

> vcpkg list
curl:x86-windows            7.68.0-3   A library for transferring data with URLs
curl[non-http]:x86-windows             Enables protocols beyond HTTP/HTTPS/HTTP2
curl[ssl]:x86-windows                  Default SSL backend
curl[sspi]:x86-windows                 SSPI support
curl[winssl]:x86-windows               SSL support (Secure Channel / "WinSSL")
zlib:x86-windows            1.2.11-6   A compression library

Auflisten der bereits installierten BibliothekenList the libraries already installed

Nachdem Sie einige Bibliotheken installiert haben, können Sie vcpkg list verwenden, um anzuzeigen, welche bereits vorhanden sind:After you've installed some libraries, you can use vcpkg list to see what you have:

> vcpkg list

boost:x86-windows       1.64-3   Peer-reviewed portable C++ source libraries
bzip2:x86-windows       1.0.6-1  High-quality data compressor.
cpprestsdk:x86-windows  2.9.0-2  C++11 JSON, REST, and OAuth library The C++ REST ...
openssl:x86-windows     1.0.2k-2 OpenSSL is an open source project that provides a...
websocketpp:x86-windows 0.7.0    Library that implements RFC6455 The WebSocket Pro...
zlib:x86-windows        1.2.11   A compression library

Integration mit Visual Studio (Windows)Integrate with Visual Studio (Windows)

Pro BenutzerPer-user

Führen Sie vcpkg integrate install aus, um Visual Studio so zu konfigurieren, dass alle vcpkg-Headerdateien und -Binärdateien für jeden einzelnen Benutzer gesucht werden.Run vcpkg integrate install to configure Visual Studio to locate all vcpkg header files and binaries on a per-user basis. Die Pfade von VC++-Verzeichnissen müssen dabei nicht manuell geändert werden.There's no need for manual editing of VC++ Directories paths. Wenn Sie über mehrere Klone von vcpkg verfügen, wird der Klon, von dem aus Sie diesen Befehl ausführen, zum neuen Standardspeicherort.If you have multiple clones of vcpkg, the clone you run this command from becomes the new default location.

Nun können Sie für Header einfach die #include-Anweisung ausführen, indem Sie den Ordner/Header eingeben und automatisch vervollständigen lassen.Now you can #include headers simply by typing the folder/header, and autocomplete assists you. Es sind keine weiteren Schritte erforderlich, um Verknüpfungen mit Bibliotheken zu erstellen oder Projektverweise hinzuzufügen.No additional steps are required for linking to libs or adding project references. Die folgende Abbildung zeigt, wie Visual Studio die azure-storage-cpp-Header sucht.The following illustration shows how Visual Studio finds the azure-storage-cpp headers. Vcpkg platziert seine Header im Unterordner /installed, partitioniert nach Zielplattform.vcpkg places its headers in the /installed subfolder, partitioned by target platform. Das folgende Diagramm zeigt die Liste der Includedateien im Unterordner /was für die Bibliothek:The following diagram shows the list of include files in the /was subfolder for the library:

vcpkg und IntelliSensevcpkg and IntelliSense

Pro ProjektPer project

Wenn Sie eine spezifische Version einer Bibliothek verwenden müssen, die sich von der Version in Ihrer aktiven vcpkg-Instanz unterscheidet, führen Sie die folgenden Schritte aus:If you need to use a specific version of a library that's different from the version in your active vcpkg instance, follow these steps:

  1. Erstellen Sie einen neuen Klon von vcpkg.Make a new clone of vcpkg
  2. Modifizieren Sie die Portdatei für die Bibliothek, um die Version zu erhalten, die Sie benötigen.Modify the portfile for the library to obtain the version you need
  3. Führen Sie vcpkg install <library> aus.Run vcpkg install <library>.
  4. Verwenden Sie vcpkg integrate project , um ein NuGet-Paket zu erstellen, das für jedes Projekt auf diese Bibliothek verweist.Use vcpkg integrate project to create a NuGet package that references that library on a per-project basis.

Integration mit Visual Studio Code (Linux/macOS)Integrate with Visual Studio Code (Linux/macOS)

Führen Sie vcpkg integrate install aus, um Visual Studio Code unter Linux/macOS zu konfigurieren.Run vcpkg integrate install to configure Visual Studio Code on Linux/macOS. Dieser Befehl legt den Speicherort der vcpkg-Eintragung fest und aktiviert IntelliSense für Quelldateien.This command sets the location of the vcpkg enlistment and enables IntelliSense on source files.

Erstellen von Dateien für Linux unter Windows mit WSLTarget Linux from Windows via WSL

Mithilfe des Windows-Subsystems für Linux (WSL) können Sie Linux-Binärdateien auf einem Windows-Computer erstellen.You can produce Linux binaries on a Windows machine by using the Windows Subsystem for Linux, or WSL. Befolgen Sie die Anweisungen zum Einrichten von WSL unter Windows 10.Follow the instructions to Set up WSL on Windows 10. Konfigurieren Sie dieses dann mithilfe der Visual Studio-Erweiterung für Linux.Then, configure it with the Visual Studio extension for Linux. Es ist in Ordnung, wenn Sie alle erstellten Bibliotheken für Windows und Linux in demselben Ordner platzieren.It's okay to put all your built libraries for Windows and Linux into the same folder. Sie sind sowohl über Windows als auch über WSL zugänglich.They're accessible from both Windows and WSL.

Exportieren von kompilierten Binärdateien und HeadernExport compiled binaries and headers

Es ist ineffizient, wenn alle Benutzer in einem Team gemeinsame Bibliotheken herunterladen und erstellen können.It's inefficient to make everyone on a team download and build common libraries. Ein einzelnes Teammitglied kann den Befehl vcpkg export verwenden, um eine gemeinsame ZIP-Datei der Binärdateien und Header oder ein NuGet-Paket zu erstellen.A single team member can use the vcpkg export command to create a common zip file of the binaries and headers, or a NuGet package. Die Freigabe für andere Teammitglieder ist anschließend ganz einfach möglich.Then, it's easy to share it with other team members.

Update/Upgrade für installierte BibliothekenUpdate/upgrade installed libraries

Der öffentliche Katalog wird mit den aktuellen Versionen der Bibliotheken auf dem neuesten Stand gehalten.The public catalog is kept up to date with the latest versions of the libraries. Verwenden Sie vcpkg update , um zu bestimmen, welche Ihrer lokalen Bibliotheken veraltet sind.To determine which of your local libraries are out-of-date, use vcpkg update. Wenn Sie bereit sind, Ihre Sammlung von Ports auf die neueste Version des öffentlichen Katalogs zu aktualisieren, führen Sie den Befehl vcpkg upgrade aus.When you're ready to update your ports collection to the latest version of the public catalog, run the vcpkg upgrade command. Alle installierten Bibliotheken, die nicht mehr aktuell sind, werden automatisch heruntergeladen und neu erstellt.It automatically downloads and rebuilds any or all of your installed libraries that are out of date.

Der vcpkg upgrade -Befehl listet standardmäßig nur die Bibliotheken auf, die veraltet sind. Er führt kein Upgrade der Bibliotheken durch.By default, the vcpkg upgrade command only lists the libraries that are out of date; it doesn't upgrade them. Wenn Sie jedoch ein Upgrade der Bibliotheken durchführen möchten, verwenden Sie die Option --no-dry-run .To actually upgrade the libraries, use the --no-dry-run option.

> vcpkg upgrade --no-dry-run

UpgradeoptionenUpgrade Options

  • --no-dry-run : Mit dieser Option führen Sie das Upgrade durch. Ist diese Option nicht angegeben, listet der Befehl nur die veralteten Pakete auf.--no-dry-run Perform the upgrade; when not specified, the command only lists the out-of-date packages.
  • --keep-going : Mit dieser Option wird die Installation der Pakete fortgeführt, auch wenn bei der Installation eines Pakets ein Fehler auftritt.--keep-going Continue installing packages even if one fails.
  • --triplet <t> : Mit dieser Option wird das Standardtripel für nicht qualifizierte Pakete festgelegt.--triplet <t> Set the default triplet for unqualified packages.
  • --vcpkg-root <path> : Mit dieser Option wird das anstelle des aktuellen Verzeichnisses oder Toolverzeichnisses zu verwendende vcpkg-Verzeichnis angegeben.--vcpkg-root <path> Specify the vcpkg directory to use instead of current directory or tool directory.

Beispiel für ein UpgradeUpgrade example

In folgendem Beispiel wird gezeigt, wie ein Upgrade nur für angegebene Bibliotheken durchgeführt wird.The following example shows how to upgrade only specified libraries. vcpkg pullt Abhängigkeiten automatisch, wenn dies erforderlich ist.vcpkg automatically pulls in dependencies as necessary.

c:\users\satyan\vcpkg> vcpkg upgrade tiny-dnn:x86-windows zlib
The following packages are up-to-date:
   tiny-dnn:x86-windows

The following packages will be rebuilt:
    * libpng[core]:x86-windows
    * tiff[core]:x86-windows
      zlib[core]:x86-windows
Additional packages (*) will be modified to complete this operation.
If you are sure you want to rebuild the above packages, run this command with the --no-dry-run option.

Beisteuern neuer BibliothekenContribute new libraries

Sie können jede beliebige Bibliothek in Ihre private Ports-Sammlung aufnehmen.You can include any libraries you like in your private ports collection. Um eine neue Bibliothek für den öffentlichen Katalog vorzuschlagen, öffnen Sie ein Issue auf der GitHub-Seite zu vcpkg-Issues.To suggest a new library for the public catalog, open an issue on the GitHub vcpkg issue page.

Entfernen einer BibliothekRemove a library

Geben Sie vcpkg remove ein, um eine installierte Bibliothek zu entfernen.Type vcpkg remove to remove an installed library. Wenn andere Bibliotheken von dieser abhängig sind, werden Sie dazu aufgefordert, den Befehl mit --recurse erneut auszuführen, wodurch alle nachgeschalteten Bibliotheken entfernt werden.If any other libraries depend on it, you're asked to rerun the command with --recurse, which causes all downstream libraries to be removed.

Anpassen von vcpkgCustomize vcpkg

Sie können Ihren Klon von vcpkg beliebig bearbeiten.You can modify your clone of vcpkg in any way you like. Sie können auch mehrere vcpkg-Klone erstellen und anschließend die Portdateien in den einzelnen Klonen ändern.You can even create multiple vcpkg clones, then modify the portfiles in each one. Dies ist eine einfache Möglichkeit, um bestimmte Bibliotheksversionen zu erhalten oder bestimmte Befehlszeilenparameter anzugeben.That's a simple way to obtain specific library versions, or to specify particular command-line parameters. Beispielsweise können einzelne Gruppen von Entwicklern in einem Unternehmen an einer Software arbeiten, die über für ihre Gruppe spezifische Abhängigkeiten verfügt.For example, individual groups of developers in an enterprise might work on software that has dependencies specific to their group. Die Lösung besteht darin, für jedes Team einen Klon von vcpkg einzurichten.The solution is to set up a clone of vcpkg for each team. Verändern Sie die Klone anschließend so, dass die Bibliotheksversionen heruntergeladen werden, und legen Sie die Kompilierungsschalter fest, die die einzelnen Teams benötigen.Then, modify the clones to download the library versions and set the compilation switches that each team needs.

Aktualisieren von vcpkgUpdate vcpkg

Der vcpkg-Paket-Manager wird regelmäßig auf GitHub aktualisiert.The vcpkg package manager is updated regularly on GitHub. Führen Sie vom vcpkg-Stammverzeichnis aus git pull aus, um Ihren Klon von vcpkg auf die neueste Version zu aktualisieren.To update your clone of vcpkg to the latest version, from the vcpkg root directory, run git pull. Mit diesem Befehl wird Ihre Kopie von vcpkg mit der Version auf GitHub synchronisiert.This command syncs your copy of vcpkg with the version on GitHub. Nachdem der Download beendet wurde, führen Sie den Bootstrapper noch mal aus.After download is complete, run the bootstrapper again. Der Bootstrapper erstellt das vcpkg-Programm neu, die installierten Bibliotheken bleiben jedoch erhalten.The bootstrapper rebuilds the vcpkg program, but leaves your installed libraries in place.

Deinstallieren von vcpkgUninstall vcpkg

Löschen Sie einfach das vcpkg-Verzeichnis, um vcpkg zu deinstallieren.To uninstall vcpkg, just delete the vcpkg directory. Dadurch wird die vcpkg-Verteilung deinstalliert, sowie alle für vcpkg installierten Bibliotheken.Deleting this directory uninstalls the vcpkg distribution, and all the libraries that vcpkg has installed.

Senden von Feedback zu vcpkgSend feedback about vcpkg

Verwenden Sie den Befehl vcpkg contact --survey , um Microsoft Feedback zu vcpkg zu senden, einschließlich Fehlerberichten und Featurevorschlägen.Use the vcpkg contact --survey command to send feedback to Microsoft about vcpkg, including bug reports and suggestions for features.

Die vcpkg-OrdnerhierarchieThe vcpkg folder hierarchy

Alle vcpkg-Funktionen und -Daten sind eigenständig in einer einzigen Verzeichnishierarchie, als „Instanz“ bezeichnet.All vcpkg functionality and data is self-contained in a single directory hierarchy, called an "instance". Es gibt keine Registrierungseinstellungen oder Umgebungsvariablen.There are no registry settings or environment variables. Sie können über eine beliebige Anzahl von Instanzen von vcpkg auf einem Computer verfügen, ohne dass diese sich gegenseitig beeinträchtigen.You can have any number of instances of vcpkg on a machine, and they won't interfere with each other.

Der Inhalt einer vcpkg-Instanz sieht folgendermaßen aus:The contents of a vcpkg instance are:

  • buildtrees: Dieser Ordner enthält Unterordner von Quellen, aus denen jede Bibliothek erstellt wird.buildtrees - contains subfolders of sources from which each library is built
  • docs: Dieser Ordner enthält die Dokumentation und Beispiele.docs - documentation and examples
  • downloads: Dieser Ordner enthält zwischengespeicherte Kopien von heruntergeladenen Tools oder Quellen.downloads - cached copies of any downloaded tools or sources. vcpkg sucht hier zuerst, wenn Sie den Installationsbefehl ausführen.vcpkg searches here first when you run the install command.
  • installed: Dieser Ordner enthält die Header und Binärdateien für jede installierte Bibliothek.installed - Contains the headers and binaries for each installed library. Wenn Sie eine Integration in Visual Studio durchführen, veranlassen Sie im Wesentlichen, dass dieser Ordner zu den Suchpfaden hinzugefügt wird.When you integrate with Visual Studio, you're essentially telling it add this folder to its search paths.
  • packages: Dies ist der interne Ordner für das Staging zwischen Installationsvorgängen.packages - Internal folder for staging between installs.
  • ports: Dieser Ordner enthält Dateien, die jede Bibliothek im Katalog, deren Version und den Ort beschreiben, von dem aus sie heruntergeladen werden kann.ports - Files that describe each library in the catalog, its version, and where to download it. Sie können, falls nötig, Ihre eigenen Ports hinzufügen.You can add your own ports if needed.
  • scripts: Dieser Ordner enthält Skripts (CMake, PowerShell), die von vcpkg verwendet werden.scripts - Scripts (CMake, PowerShell) used by vcpkg.
  • toolsrc: Dieser Ordner enthält den C++-Quellcode für vcpkg und zugehörige Komponenten.toolsrc - C++ source code for vcpkg and related components
  • triplets: Dieser Ordner enthält die Einstellungen für jede unterstützte Zielplattform (z. B. x86-windows oder x64-uwp).triplets - Contains the settings for each supported target platform (for example, x86-windows or x64-uwp).

BefehlszeilenreferenzCommand-line reference

BefehlCommand BeschreibungDescription
vcpkg search [pat] Suchen nach installationsbereiten PaketenSearch for packages available to install
vcpkg install <pkg>... Installieren eines PaketsInstall a package
vcpkg remove <pkg>... Deinstallieren eines PaketsUninstall a package
vcpkg remove --outdated Deinstallieren aller veralteten PaketeUninstall all out-of-date packages
vcpkg list Auflisten installierter PaketeList installed packages
vcpkg update Anzeigen einer Liste von Paketen zum AktualisierenDisplay list of packages for updating
vcpkg upgrade Neu Erstellen aller veralteten PaketeRebuild all outdated packages
vcpkg hash <file> [alg] Berechnen des Hashwerts für eine Datei über einen bestimmten Algorithmus (Standard SHA512)Hash a file by specific algorithm, default SHA512
vcpkg integrate install Verfügbarmachen von installierten Paketen für alle Benutzer.Make installed packages available user-wide. Erfordert Administratorrechte bei der ersten VerwendungRequires admin privileges on first use
vcpkg integrate remove Entfernen der benutzerweiten IntegrationRemove user-wide integration
vcpkg integrate project Erstellen eines Referenz-NuGet-Pakets für die individuelle VS-ProjektverwendungGenerate a referencing NuGet package for individual VS project use
vcpkg export <pkg>... [opt]... Exportieren eines PaketsExport a package
vcpkg edit <pkg> Öffnen eines Ports zum Bearbeiten (verwendet %EDITOR%, Standard „code“)Open up a port for editing (uses %EDITOR%, default 'code')
vcpkg create <pkg> <url> [archivename] Erstellen eines neuen PaketsCreate a new package
vcpkg cache Auflisten zwischengespeicherter kompilierter PaketeList cached compiled packages
vcpkg version Anzeigen von VersionsinformationenDisplay version information
vcpkg contact --survey Kontaktdaten zum Senden von Feedback anzeigenDisplay contact information to send feedback.

OptionenOptions

OptionOption BeschreibungDescription
--triplet <t> Angeben der Dreiergruppe der ZielarchitekturSpecify the target architecture triplet. (Standard: %VCPKG_DEFAULT_TRIPLET%, siehe auch vcpkg help triplet )(default: %VCPKG_DEFAULT_TRIPLET%, see also vcpkg help triplet)
--vcpkg-root <path> Angeben des vcpkg-Stammverzeichnisses (Standard: %VCPKG_ROOT%)Specify the vcpkg root directory (default: %VCPKG_ROOT%)