Freigeben über


vcpkg exportieren

Zusammenfassung

vcpkg export [options] {<package>... | --x-all-installed}

Description

Exportiert integrierte Pakete aus dem installierten Verzeichnis in ein eigenständiges Entwickler-SDK.

export produziert ein eigenständiges, verteilbares SDK (Software Development Kit), das auf einem anderen Computer verwendet werden kann, ohne vcpkg separat zu erwerben. Sie enthält folgende Elemente:

  1. Die vordefinierten Binärdateien für die ausgewählten Pakete
  2. Ihre transitiven Abhängigkeiten
  3. Integrationsdateien, z. B. eine CMake-Toolkette oder MSBuild-Props/Ziele

Hinweis

Das Verhalten dieses Befehls unterscheidet sich im klassischen Modus und im Manifestmodus.

Der export Befehl installiert keine Pakete oder transitiven Abhängigkeiten. Es exportiert nur Pakete, die bereits installiert sind.

Weitere Details finden Sie im Manifestmodus oder im klassischen Modus .

Klassischer Modus

Im klassischen Modus vcpkg export akzeptiert dreifach qualifizierte Paketspezifikationsargumente (z. B.: zlib:x64-windows)

Sie geben Pakete an, die exportiert werden sollen, indem Sie der Befehlszeile Argumente hinzufügen <port name>:<triplet> .

Zum Exportieren des sqlite Pakets für x64-windows und x64-linuxverwenden Sie Folgendes:

vcpkg export sqlite:x64-windows sqlite:x64-linux --zip

Mit diesem Befehl werden die angegebenen Pakete im ZIP-Format exportiert. Beide sqlite:x64-windows und sqlite:x64-linux müssen vor der Ausführung vcpkg exportinstalliert werden.

Manifestmodus

Im Manifestmodus exportiert der Befehl alle aktuell installierten Pakete. Das Installationsverzeichnis enthält alle im Manifest deklarierten Pakete (vcpkg.json) sowie ihre transitiven Abhängigkeiten. Führen Sie vcpkg install vor der Verwendung dieses Befehls aus, um sicherzustellen, dass alle erforderlichen Pakete installiert sind.

In diesem Modus können Sie keine einzelnen Pakete angeben, die exportiert werden sollen. Der Befehl wird auf dem gesamten installierten Zustand als einzelne Entität ausgeführt, wobei die in der Manifestdatei angegebenen Abhängigkeiten und Versionen berücksichtigt werden.

Ein weiterer Unterschied ist die Anforderung der --output-dir Option. Diese Option gibt das Verzeichnis an, in dem die exportierten Pakete gespeichert werden.

Beispiel: aus dem Manifestverzeichnis

vcpkg export --zip --output-dir=.\exports

Exportiert alle aktuell installierten Pakete in das .\exports Verzeichnis in einer ZIP-Datei. Die --zip Option gibt an, dass die exportierten Pakete in eine ZIP-Datei komprimiert werden sollen.

Standardintegration

Die meisten Exportformate enthalten einen Standardsatz von Integrationsdateien:

Einige Exportformate unterscheiden sich von diesem Standardsatz; weitere Details finden Sie in der nachstehenden Hilfe zu den einzelnen Formaten.

Formate

Offiziell unterstützte SDK-Formate:

Unformatiertes Verzeichnis

vcpkg export --raw [options] <package>...

Erstellen Eines nicht komprimierten Verzeichnislayouts unter <output-dir>/<output>/.

Enthält die Standardintegrationsdateien.

Zip

vcpkg export --zip [options] <package>...

Erstellen Sie ein zipkomprimiertes Verzeichnislayout unter <output-dir>/<output>.zip.

Enthält die Standardintegrationsdateien.

7Zip

vcpkg export --7zip [options] <package>...

Erstellen Sie ein 7zip-Verzeichnislayout unter <output-dir>/<output>.7z.

Enthält die Standardintegrationsdateien.

NuGet

vcpkg export --nuget [options] <package>...

Erstellen Sie ein NuGet-Paket unter <output-dir>/<nuget-id>.<nuget-version>.nupkg.

Enthält die Standardintegrationsdateien sowie zusätzliche MSBuild-Integration, um die Aufnahme in ein MSBuild C++-Projekt (.vcxproj) über den NuGet-Paket-Manager zu unterstützen. Beachten Sie, dass Sie nicht mehrere NuGet-Pakete kombinieren können, die zusammen export erstellt werden – nur eines der Pakete wird verwendet. Um zusätzliche Bibliotheken hinzuzufügen, müssen Sie einen neuen Export mit den vollständigen Abhängigkeiten erstellen.

Formatspezifische Optionen:

IFW

IFW-Export wurde entfernt.

Chocolatey

Der Schokoladenexport wurde entfernt.

Fertighaus

Der Prefab-Export wurde entfernt.

Options

Alle vcpkg-Befehle unterstützen eine Reihe allgemeiner Optionen.

<package>

Dies ist die Liste der integrierten Pakete der obersten Ebene, die im SDK enthalten sein werden. Alle Abhängigkeiten dieser Pakete werden ebenfalls einbezogen, um sicherzustellen, dass das resultierende SDK eigenständig ist.

Paketsyntax

<port name>:<triplet>

Paketverweise ohne Triplet werden automatisch durch das Standardziel-Triplet qualifiziert. Hinweis: <port name>:<triplet> Argumente sind nicht zulässig, wenn sie im Manifestmodus verwendet vcpkg export werden.

--x-all-installed

Hinweis

In diesem Abschnitt wird ein experimentelles Feature von vcpkg behandelt, das jederzeit geändert oder entfernt werden kann.

Alle installierten Pakete exportieren. Diese Option wird impliziert, wenn vcpkg export sie im Manifestmodus verwendet wird.

Kopiert Symlinks als normale Dateien und Verzeichnisse in den exportierten Ergebnissen.

--dry-run

Führen Sie den Export nicht aus, drucken Sie nur den Exportplan.

--nuget-description=

Gibt die Ausgabebeschreibung für NuGet.nupkg-Dateien an.

Der Standardwert ist "Vcpkg NuGet export".

--nuget-id=

Gibt die Ausgabe-ID für NuGet.nupkg-Dateien an.

Diese Option setzt die --output Option speziell für den NuGet-Exporter außer Kraft. Weitere Informationen finden Sie --output unter "Standardwerte".

--nuget-version=

Gibt die Ausgabeversion für NuGet.nupkg-Dateien an.

Wird standardmäßig auf 1.0.0 festgelegt.

--output=

Gibt den Ausgabebasisnamen an.

Jeder SDK-Typ verwendet diesen Basisnamen, um die spezifischen Ausgabedateien zu bestimmen. Ausführliche Informationen finden Sie in der oben aufgeführten SDK-spezifischen Dokumentation.

Wird standardmäßig auf vcpkg-export-<date>-<time> festgelegt. Die skripted use of export should always pass this flag to ensure deterministic output.

--output-dir=

Gibt das Ausgabeverzeichnis an.

Alle SDK-Dateien der obersten Ebene werden in diesem Verzeichnis erstellt. Diese Option ist im Manifestmodus erforderlich. Im klassischen Modus ist dies optional und standardmäßig das vcpkg-Stammverzeichnis.