vcpkg export
Übersicht
vcpkg export [options] {<package>... | --x-all-installed}
Beschreibung
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:
- Die vordefinierten Binärdateien für die ausgewählten Pakete
- Ihre transitiven Abhängigkeiten
- 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-linux
verwenden 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 export
installiert 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:
- Eine CMake-Toolkette unter
/scripts/buildsystems/vcpkg.cmake
- MSBuild-Props/Ziele bei
/scripts/buildsystems/msbuild/vcpkg.props
und/scripts/buildsystems/msbuild/vcpkg.targets
- Die Installationsstruktur unter
/
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:
Experimentelle SDK-Formate (können jederzeit geändert oder entfernt werden):
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 die 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
Hinweis
In diesem Abschnitt wird ein experimentelles Feature von vcpkg behandelt, das jederzeit geändert oder entfernt werden kann.
vcpkg export --ifw [options] <package>...
Exportieren in ein IFW-basiertes Installationsprogramm.
Formatspezifische Optionen:
--ifw-configuration-file-path
--ifw-installer-file-path
--ifw-packages-directory-path
--ifw-repository-directory-path
--ifw-repository-url
Chocolatey
Hinweis
In diesem Abschnitt wird ein experimentelles Feature von vcpkg behandelt, das jederzeit geändert oder entfernt werden kann.
vcpkg export --x-chocolatey [options] <package>...
Exportieren Sie ein Schokoladenpaket.
Formatspezifische Optionen:
Prefabs
Hinweis
In diesem Abschnitt wird ein experimentelles Feature von vcpkg behandelt, das jederzeit geändert oder entfernt werden kann.
vcpkg export --prefab [options] <package>...
In das Prefab-Format exportieren.
Formatspezifische Optionen:
--prefab-artifact-id
--prefab-group-id
--prefab-maven
--prefab-min-sdk
--prefab-target-sdk
--prefab-version
Optionen
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.
--dry-run
Führen Sie den Export nicht aus, drucken Sie nur den Exportplan.
--ifw-configuration-file-path=
Geben Sie den temporären Dateipfad für die Installationsprogrammkonfiguration an.
--ifw-installer-file-path=
Geben Sie den Dateipfad für das exportierte Installationsprogramm an.
--ifw-packages-directory-path=
Geben Sie den temporären Verzeichnispfad für die neu verpackten Pakete an.
--ifw-repository-directory-path=
Geben Sie den Verzeichnispfad für das exportierte Repository an.
--ifw-repository-url=
Geben Sie die Remoterepository-URL für das Onlineinstallationsprogramm an.
--x-maintainer=
Geben Sie den Standard tainer für das exportierte Chocolatey-Paket an.
--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.
--prefab-artifact-id=
Artefakt-ID ist der Name des Projekts gemäß Maven-Spezifikationen.
--prefab-group-id=
GroupId identifiziert Ihr Projekt eindeutig nach Maven-Spezifikationen.
--prefab-maven
Aktivieren Sie Maven.
--prefab-min-sdk=
Mindestens unterstützte Android Sdk-Version.
--prefab-target-sdk=
Unterstützte Android-Ziel-SDK-Version.
--prefab-version=
Version ist die Version des Projekts gemäß Maven-Spezifikationen.
--x-version-suffix=
Geben Sie das Versionssuffix an, das für das exportierte Chocolatey-Paket hinzugefügt werden soll.