esportazione vcpkg

Riepilogo

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

Descrizione

Esporta i pacchetti compilati dalla directory installata in un SDK per sviluppatori autonomo.

export produce un SDK autonomo e distribuibile (Software Development Kit) che può essere usato in un altro computer senza acquisire separatamente vcpkg. Contiene:

  1. File binari predefiniti per i pacchetti selezionati
  2. Dipendenze transitive
  3. File di integrazione, ad esempio una toolchain CMake o msBuild props/targets

Nota

Il comportamento di questo comando è diverso in modalità classica e in modalità manifesto

Il export comando non installa pacchetti o dipendenze transitive. Esporta solo i pacchetti già installati.

Per altri dettagli, vedere Modalità manifesto o modalità classica.

Modalità classica

In modalità classica accetta vcpkg export argomenti di specifica del pacchetto qualificato triplet (ad esempio: zlib:x64-windows)

Specificare i pacchetti da esportare aggiungendo <port name>:<triplet> argomenti alla riga di comando.

Ad esempio, per esportare il sqlite pacchetto per x64-windows e x64-linux, usare:

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

Questo comando esporta i pacchetti specificati in formato ZIP. Sia sqlite:x64-windows che sqlite:x64-linux devono essere installati prima di eseguire vcpkg export.

Modalità manifesto

In modalità manifesto, il comando esporta tutti i pacchetti attualmente installati. La directory di installazione include tutti i pacchetti dichiarati nel manifesto (vcpkg.json) e le relative dipendenze transitive. Eseguire vcpkg install prima di usare questo comando per assicurarsi che tutti i pacchetti necessari siano installati.

In questa modalità non è possibile specificare singoli pacchetti da esportare. Il comando opera sull'intero stato installato come singola entità, rispettando le dipendenze e le versioni specificate nel file manifesto.

Un'altra differenza è il requisito dell'opzione --output-dir . Questa opzione specifica la directory in cui verranno archiviati i pacchetti esportati.

Ad esempio, dalla directory del manifesto

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

Esporta tutti i pacchetti attualmente installati nella .\exports directory in un file ZIP. L'opzione --zip specifica che i pacchetti esportati devono essere compressi in un file ZIP.

Integrazione standard

La maggior parte dei formati di esportazione contiene un set standard di file di integrazione:

  • Toolchain CMake all'indirizzo/scripts/buildsystems/vcpkg.cmake
  • Proprietà/destinazioni MSBuild in e /scripts/buildsystems/msbuild/vcpkg.props/scripts/buildsystems/msbuild/vcpkg.targets
  • Albero di installazione in /

Alcuni formati di esportazione differiscono da questo set standard; per altri dettagli, vedere la Guida relativa al singolo formato di seguito.

Formati

Formati SDK ufficialmente supportati:

Formati dell'SDK sperimentale (possono cambiare o essere rimossi in qualsiasi momento):

Directory non elaborata

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

Creare un layout di directory non compresso in <output-dir>/<output>/.

Contiene i file di integrazione standard.

CAP

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

Creare un layout di directory compresso zip in <output-dir>/<output>.zip.

Contiene i file di integrazione standard.

7Zip

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

Creare un layout di directory 7zip in <output-dir>/<output>.7z.

Contiene i file di integrazione standard.

NuGet

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

Creare un pacchetto NuGet in <output-dir>/<nuget-id>.<nuget-version>.nupkg.

Contiene i file di integrazione standard e l'integrazione aggiuntiva di MSBuild per supportare l'inclusione in un progetto C++ di MSBuild (.vcxproj) tramite il Gestione pacchetti NuGet. Si noti che non è possibile combinare più pacchetti NuGet prodotti insieme export . Verrà usato solo uno dei pacchetti. Per aggiungere altre librerie, è necessario creare una nuova esportazione con il set completo di dipendenze.

Opzioni specifiche del formato:

IFW

Nota

Questa sezione illustra una funzionalità sperimentale di vcpkg che può cambiare o essere rimossa in qualsiasi momento.

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

Esporta in un programma di installazione basato su IFW.

Opzioni specifiche del formato:

Chocolatey

Nota

Questa sezione illustra una funzionalità sperimentale di vcpkg che può cambiare o essere rimossa in qualsiasi momento.

vcpkg export --x-chocolatey [options] <package>...

Esportare un pacchetto Chocolatey.

Opzioni specifiche del formato:

Prefab

Nota

Questa sezione illustra una funzionalità sperimentale di vcpkg che può cambiare o essere rimossa in qualsiasi momento.

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

Esporta in formato Prefab.

Opzioni specifiche del formato:

Opzioni

Tutti i comandi vcpkg supportano un set di opzioni comuni.

<package>

Questo è l'elenco dei pacchetti compilati di primo livello che verranno inclusi nell'SDK. Tutte le dipendenze di questi pacchetti verranno incluse anche per garantire che l'SDK risultante sia indipendente.

Sintassi del pacchetto

<port name>:<triplet>

I riferimenti ai pacchetti senza tripletta vengono qualificati automaticamente dal triplo di destinazione predefinito. Nota: <port name>:<triplet> gli argomenti non sono consentiti quando si usa vcpkg export in modalità manifesto.

--x-all-installed

Nota

Questa sezione illustra una funzionalità sperimentale di vcpkg che può cambiare o essere rimossa in qualsiasi momento.

Esportare tutti i pacchetti installati. Questa opzione è implicita quando si usa vcpkg export in modalità manifesto.

--dry-run

Non eseguire l'esportazione, stampare solo il piano di esportazione.

--ifw-configuration-file-path=

Specificare il percorso del file temporaneo per la configurazione del programma di installazione.

--ifw-installer-file-path=

Specificare il percorso del file per il programma di installazione esportato.

--ifw-packages-directory-path=

Specificare il percorso della directory temporanea per i pacchetti ricompressi.

--ifw-repository-directory-path=

Specificare il percorso della directory per il repository esportato.

--ifw-repository-url=

Specificare l'URL del repository remoto per il programma di installazione online.

--x-maintainer=

Specificare il manutenitore per il pacchetto Chocolatey esportato.

--nuget-description=

Specifica la descrizione dell'output per i file NuGet con estensione nupkg.

L'impostazione predefinita è "Esportazione NuGet Vcpkg".

--nuget-id=

Specifica l'ID di output per i file nuGet con estensione nupkg.

Questa opzione sostituisce l'opzione --output specifica per l'utilità di esportazione NuGet. Vedere --output per i valori predefiniti.

--nuget-version=

Specifica la versione di output per i file nuGet con estensione nupkg.

Il valore predefinito è 1.0.0.

--output=

Specifica il nome della base di output.

Ogni tipo di SDK usa questo nome di base per determinare i relativi file di output specifici. Per informazioni dettagliate, vedere la documentazione specifica dell'SDK precedente.

Il valore predefinito è vcpkg-export-<date>-<time>. L'uso con script di export deve sempre passare questo flag per garantire l'output deterministico.

--output-dir=

Specifica la directory di output.

Tutti i file SDK di primo livello verranno prodotti in questa directory. Questa opzione è obbligatoria in modalità manifesto. In modalità classica, questa opzione è facoltativa e per impostazione predefinita viene predefinito la directory radice vcpkg.

--prefab-artifact-id=

Artifact Id è il nome del progetto in base alle specifiche maven.

--prefab-group-id=

GroupId identifica in modo univoco il progetto in base alle specifiche maven.

--prefab-maven

Abilitare Maven.

--prefab-min-sdk=

Versione minima dell'SDK supportata da Android.

--prefab-target-sdk=

Versione dell'SDK supportata per Android.

--prefab-version=

La versione è la versione del progetto in base alle specifiche di Maven.

--x-version-suffix=

Specificare il suffisso della versione da aggiungere per il pacchetto Chocolatey esportato.