Aracılığıyla paylaş


Katman bağlantı noktaları

Genellikle vcpkg bağlantı noktaları kayıt defterlerinden elde edilir. Yüklediğiniz bağlantı noktalarının çoğunun konumundaki https://github.com/Microsoft/vcpkgresmi vcpkg kayıt defterinden gelmesi büyük olasılıkla mümkündür. vcpkg, dosya sistemi aracılığıyla kullanabileceğiniz bağlantı noktalarını yüklemenize olanak tanır; bu bağlantı noktalarına yer paylaşımlı bağlantı noktaları diyoruz.

Katman bağlantı noktası, mevcut bir bağlantı noktasının yerine veya kayıt defterinde bulunmayan yeni bir bağlantı noktası olarak görev yapabilir. Paket adlarını çözerken katman bağlantı noktaları önceliklidir.

Katman bağlantı noktaları aşağıdaki sırayla değerlendirilir:

  • aracılığıyla --overlay-portskomut satırında belirtilen yer paylaşım konumları.
  • aracılığıyla overlay-portsbir vcpkg-configuration.json dosyada belirtilen yer paylaşım konumları.
  • Ortam değişkeni tarafından VCPKG_OVERLAY_PORTS belirtilen yer paylaşım konumları.

Bağlantı noktası adları çözümlenirken, eşleşen katman bağlantı noktası içeren ilk konum seçilir.

Katman bağlantı noktası kullanma

Dizin bir katman bağlantı noktası kümesini temsil edebilir ve iki yoldan biriyle belirtilebilir:

  • Tek yer paylaşımlı bağlantı noktası: <directory>/sqlite3 Tek bir bağlantı noktasını ifade eder
  • Yer paylaşım bağlantı noktalarının dizini: <directory> bağlantı noktalarının dizinine başvurur Geçerli bir bağlantı noktası hem hem portfile.cmakede vcpkg.json içermelidir.

Katman bağlantı noktasını çeşitli yollarla ekleyebilirsiniz:

  • Komut satırı: vcpkg komutunuza bir veya birden çok --overlay-ports=<directory> seçenek ekleme
  • Bildirim: içindeki diziyi "overlay-ports" doldurma vcpkg-configuration.json
  • Ortam değişkeni: Dizin yolları listesine ayarlayın VCPKG_OVERLAY_PORTS

Örnek: Katman Bağlantı Noktaları Örneği

Bu dizin yapısı göz önünde bulundurulduğunda:

Birden çok katman bağlantı noktası dizini içeren örnek

team-ports adlı katman dizini sqlite3, rapidjson ve curl bağlantı noktalarını içerir. my-ports adlı katman dizini sqlite3 ve rapidjson bağlantı noktalarını içerir. vcpkg dizini varsayılan kayıt defterini içerir.

Çalıştır:

vcpkg install sqlite3 --overlay-ports=my-ports --overlay-ports=team-ports

Yüklemek için:

  • sqlite3 Kaynak my-ports

Çalıştır:

vcpkg install sqlite3 rapidjson curl 
    --overlay-ports=my-ports/rapidjson 
    --overlay-ports=vcpkg/ports/curl
    --overlay-ports=team-ports

Yüklemek için:

  • sqlite3 Kaynak team-ports
  • rapidjson Kaynak my-ports
  • curl 'vcpkg/ports'tan

Örnek: Sistem paketi yöneticisi bağımlılığını kullanmak için katman bağlantı noktalarını kullanma

Bir vcpkg yerine sistem paketi yöneticisi bağımlılığı kullanmak için blog gönderimize bakın.