Condividi tramite


Tripletta

Triplet è un termine standard usato per la compilazione incrociata come modo per acquisire completamente l'ambiente di destinazione (CPU, sistema operativo, compilatore, runtime e così via) in un unico nome pratico.

In vcpkg, i tripletti descrivono un "set di configurazione di destinazione" immaginario per ogni libreria. All'interno di un triplo, le librerie vengono in genere compilate con la stessa configurazione, ma non è un requisito. Ad esempio, è possibile avere un tripletto che compila openssl in modo statico e zlib dinamico, uno che li compila in modo statico e uno che li compila in modo dinamico (tutti per lo stesso sistema operativo di destinazione e architettura).

Una singola compilazione utilizzerà i file da un massimo di due triplette: il tripletto di destinazione e il tripletto host. Se è necessario applicare impostazioni diverse per librerie diverse, è necessario creare un singolo tripletto personalizzato con tale combinazione di impostazioni. Per informazioni su come eseguire questa operazione, vedere Personalizzazione per porta.

vcpkg include triplette predefinite per molte piattaforme e configurazioni comuni. Eseguire vcpkg help triplet per ottenere l'elenco di disponibili nell'ambiente.

Selezione tripletta

Per selezionare un triplo di destinazione:

Per selezionare il triplo host per il computer corrente:

Triplette della comunità

I tripletti contenuti nella triplets\community cartella non vengono testati dall'integrazione continua del Registro di sistema curato, ma sono comunemente richiesti dalla community. Poiché non è disponibile copertura continua, gli aggiornamenti delle porte potrebbero interrompere la compatibilità con i tripletti della community. Siamo lieti di accettare e rivedere i contributi che mirano a risolvere i problemi con questi tripletti.

Quando si usa un triplo della community, durante l'installazione di un pacchetto verrà stampato un messaggio simile al seguente:

-- Using community triplet x86-uwp. This triplet configuration is not guaranteed to succeed.
-- [COMMUNITY] Loading triplet configuration from: D:\src\vcpkg\triplets\community\x86-uwp.cmake

Aggiungere o sostituire triplette

È possibile estendere vcpkg sostituendo triplette in-the-box o creando nuovi triplette per il progetto specifico.

Prima di tutto, copiare un file triplet predefinito dalla triplets\ directory in un percorso del file system diverso. Aggiungere quindi tale directory all'elenco dei percorsi triplo sovrapposti durante l'interazione con vcpkg.

Per una procedura dettagliata più dettagliata, vedere l'esempio di triplette di sovrapposizione.

Osservazioni:

Il triplo predefinito quando si esegue qualsiasi comando vcpkg è %VCPKG_DEFAULT_TRIPLET% o una scelta specifica della piattaforma se tale variabile di ambiente non è definita.

  • Windows: x64-windows
  • Linux: x64-linux
  • OSX: x64-osx

È consigliabile usare uno schema di denominazione sistematico durante la creazione di nuove triplette. Lo schema di denominazione toolchain Android è una buona fonte di ispirazione: https://developer.android.com/ndk/guides/standalone_toolchain.html.