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:
- File binari predefiniti per i pacchetti selezionati
- Dipendenze transitive
- 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:
--ifw-configuration-file-path
--ifw-installer-file-path
--ifw-packages-directory-path
--ifw-repository-directory-path
--ifw-repository-url
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:
--prefab-artifact-id
--prefab-group-id
--prefab-maven
--prefab-min-sdk
--prefab-target-sdk
--prefab-version
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.