Üçüz
Üçlü, hedef ortamı (CPU, işletim sistemi, derleyici, çalışma zamanı vb.) tek ve kullanışlı bir adla tamamen yakalamanın bir yolu olarak çapraz derlemede kullanılan standart bir terimdir.
Vcpkg'de üçlüler, her kitaplık için hayali bir "hedef yapılandırma kümesi" tanımlar. Üçlü içinde kitaplıklar genel olarak aynı yapılandırmayla oluşturulur, ancak bu bir gereksinim değildir. Örneğin, statik ve zlib
dinamik olarak derleyen openssl
bir üçlü, her ikisini de statik olarak oluşturan ve ikisini de dinamik olarak oluşturan bir üçlü (tümü aynı hedef işletim sistemi ve mimari için) olabilir.
Tek bir derleme, en fazla iki üçlüden dosya tüketir: hedef üçlü ve konak üçlüsü. Farklı kitaplıklar için farklı ayarlar uygulamanız gerekiyorsa, bu ayarlar bileşimiyle tek bir özel üçlü yapmanız gerekir. Bunun nasıl gerçekleştirilebilmesi için bkz . bağlantı noktası başına özelleştirme .
vcpkg, birçok yaygın platform ve yapılandırma için önceden tanımlanmış üçlülerle birlikte gelir. Ortamınızdaki kullanılabilir üçlülerin listesini almak için komutunu çalıştırın vcpkg help triplet
.
Hedef üçlü seçmek için:
- Klasik modda:
- Paket
zlib:x64-windows-static-md
başvurularını gibi üçlü adla niteleyin. - geçirin
--triplet=<triplet>
.
- Paket
- CMake'de:
- öğesini ayarlayın
VCPKG_TARGET_TRIPLET
.
- öğesini ayarlayın
- MSBuild'de:
- öğesini ayarlayın
VcpkgTriplet
.
- öğesini ayarlayın
Geçerli makine için konak üçlüsİnİ seçmek için:
- Klasik modda:
- geçirin
--host-triplet=<triplet>
.
- geçirin
- CMake'de:
- öğesini ayarlayın
VCPKG_HOST_TRIPLET
.
- öğesini ayarlayın
- MSBuild'de:
- öğesini ayarlayın
VcpkgHostTriplet
.
- öğesini ayarlayın
Klasörde bulunan triplets\community
üçlüler, seçilen kayıt defterinin sürekli tümleştirmesi tarafından test edilmemektedir, ancak topluluk tarafından yaygın olarak istenmektedir. Sürekli kapsamımız olmadığından, bağlantı noktası güncelleştirmeleri topluluk üçlüleriyle uyumluluğu bozabilir. Bu üçüzlerle ilgili sorunları çözmeyi hedefleyen katkıları memnuniyetle kabul ediyor ve gözden geçiriyoruz.
Topluluk üçlüsü kullanılırken, paket yüklemesi sırasında aşağıdakine benzer bir ileti yazdırılır:
-- 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
Yerleşik üçlüleri değiştirerek veya belirli bir projeniz için yeni üçlüler oluşturarak vcpkg'yi genişletebilirsiniz.
İlk olarak, yerleşik bir üçlü dosyayı dizinden triplets\
farklı bir dosya sistemi konumuna kopyalayın. Ardından, vcpkg ile etkileşim kurarken bu dizini yer paylaşımlı üçlü yollar listesine ekleyin.
- Bildirim modunda kullanabilirsiniz
$.vcpkg-configuration.overlay-triplets
. - CMake'den vcpkg kullanırken ayarlayabilirsiniz
VCPKG_OVERLAY_TRIPLETS
. - MSBuild'den vcpkg kullanırken MSBuild Ek Seçenekleri'ne ekleyebilirsiniz
--overlay-triplets=...
. - CLI'yi doğrudan kullanırken geçirebilirsiniz
--overlay-triplets=...
. - Ortam değişkenini
$VCPKG_OVERLAY_TRIPLETS
katman yolları listesine ayarlayabilirsiniz.
Daha ayrıntılı bir izlenecek yol için katman üçlüleri örneğimize bakın.
Not
Üçlü adlar yalnızca küçük harfli alfasayısal karakterler ve kısa çizgiler içerebilir.
Herhangi bir vcpkg komutu %VCPKG_DEFAULT_TRIPLET%
çalıştırılırken varsayılan üçlü veya ortam değişkeni tanımlanmamışsa platforma özgü bir seçenektir.
- Windows:
x64-windows
- Linux:
x64-linux
- OSX:
x64-osx
Yeni üçlüler oluştururken sistematik bir adlandırma düzeni kullanmanızı öneririz. Android araç zinciri adlandırma şeması iyi bir ilham kaynağıdır: https://developer.android.com/ndk/guides/standalone_toolchain.html.
vcpkg geri bildirimi
vcpkg, açık kaynak bir projedir. Geri bildirim sağlamak için bir bağlantı seçin: