Trojčata
Triplet je standardní termín používaný při křížovém kompilaci jako způsob, jak zcela zachytit cílové prostředí (procesor, operační systém, kompilátor, modul runtime atd.) v jediném vhodném názvu.
V nástroji vcpkg triplets popisují imaginární imaginární sadu konfigurace pro každou knihovnu. V rámci tripletu jsou knihovny obecně sestaveny se stejnou konfigurací, ale nejedná se o požadavek. Můžete mít například jeden trojitý, který se sestaví openssl
staticky a zlib
dynamicky, jeden, který je sestaví staticky i jednu, která je dynamicky sestaví (vše pro stejný cílový operační systém i architekturu).
Jedno sestavení bude využívat soubory až ze dvou tripletů: cílové trojité a hostitelské triplet. Pokud potřebujete použít různá nastavení pro různé knihovny, musíte vytvořit jednu vlastní trojitou sadu s danou kombinací nastavení. Informace o tom, jak toho dosáhnout, najdete v přizpůsobení jednotlivých portů.
Vcpkg obsahuje předdefinované trojité sady pro mnoho běžných platforem a konfigurací. Spuštěním vcpkg help triplet
získáte seznam dostupných tripletů ve vašem prostředí.
Výběr cílové trojité položky:
- V klasickém režimu:
- Opravňující odkazy na balíčky s názvem triplet, například
zlib:x64-windows-static-md
. - Pass
--triplet=<triplet>
.
- Opravňující odkazy na balíčky s názvem triplet, například
- V CMake:
- Nastavit
VCPKG_TARGET_TRIPLET
.
- Nastavit
- V nástroji MSBuild:
- Nastavit
VcpkgTriplet
.
- Nastavit
Výběr trojitého hostitele pro aktuální počítač:
- V klasickém režimu:
- Pass
--host-triplet=<triplet>
.
- Pass
- V CMake:
- Nastavit
VCPKG_HOST_TRIPLET
.
- Nastavit
- V nástroji MSBuild:
- Nastavit
VcpkgHostTriplet
.
- Nastavit
Triplety obsažené ve triplets\community
složce nejsou testovány kurátorovanou integrací registru, ale komunita je často požaduje. Vzhledem k tomu, že nemáme průběžné pokrytí, aktualizace portů můžou narušit kompatibilitu s trojitými komunitami. Rádi přijímáme a kontrolujeme příspěvky, které mají za cíl řešit problémy s těmito trojitými tečkami.
Při použití trojité sady komunity se během instalace balíčku vytiskne zpráva podobná této:
-- 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
Vcpkg můžete rozšířit tak, že nahradíte trojité trojky v krabici nebo vytvoříte nové trojité sady pro váš konkrétní projekt.
Nejprve zkopírujte integrovaný trojitý soubor z triplets\
adresáře do jiného umístění systému souborů. Potom tento adresář přidejte do seznamu překryvných trojitých cest při interakci s vcpkg.
- V režimu manifestu můžete použít
$.vcpkg-configuration.overlay-triplets
. - Při použití vcpkg z CMake můžete nastavit
VCPKG_OVERLAY_TRIPLETS
. - Při použití nástroje vcpkg z nástroje MSBuild můžete přidat
--overlay-triplets=...
do dalších možností nástroje MSBuild. - Při přímém použití rozhraní příkazového řádku můžete předat
--overlay-triplets=...
. - Proměnnou
$VCPKG_OVERLAY_TRIPLETS
prostředí můžete nastavit na seznam překryvných cest.
Podrobnější názorný postup najdete v našem příkladu překryvných tripletů.
Poznámka
Trojité názvy můžou obsahovat jenom malá písmena alfačíslo a pomlčky.
Výchozí triplet při spuštění jakéhokoli příkazu vcpkg je %VCPKG_DEFAULT_TRIPLET%
nebo volba specifická pro platformu, pokud tato proměnná prostředí není definována.
- Windows:
x64-windows
- Linux:
x64-linux
- OSX:
x64-osx
Při vytváření nových tripletů doporučujeme použít systematické schéma pojmenování. Schéma pojmenování sady nástrojů Pro Android je dobrým zdrojem inspirace: https://developer.android.com/ndk/guides/standalone_toolchain.html.
Zpětná vazba k produktu vcpkg
vcpkg je open source projekt. Vyberte odkaz pro poskytnutí zpětné vazby: