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:
- komutuyla komut satırında
--overlay-ports
belirtilen dizin veya dizinde veyaCONTROL
vcpkg.json
dosyası yoksa adlandırılmış alt dizinler. - aracılığıyla bir
vcpkg-configuration.json
dosyadaoverlay-ports
belirtilen dizin veya dizinde veyaCONTROL
dosyasıvcpkg.json
yoksa adlandırılmış alt dizinler. - Ortam değişkeni girdileri tarafından
VCPKG_OVERLAY_PORTS
belirtilen dizin veya dizindeCONTROL
veyavcpkg.json
dosyası yoksa adlandırılmış alt dizinler.
Bağlantı noktası adları çözümlenirken, eşleşen katman bağlantı noktası içeren ilk konum seçilir.
Katman bağlantı noktası kullanma
Katman bağlantı noktası belirtilirse, önce vcpkg bu dizini bağlantı noktası olarak yüklemeyi dener. Bu başarılı olursa, dizinin kendisi bir bağlantı noktası olarak kabul edilir ve katman adı veya CONTROL
dosyasından vcpkg.json
türetilir. Aksi takdirde, katman bağlantı noktası adına sahip alt dizinler dikkate alınır.
Geçerli bağlantı noktaları , ve portfile.cmake
veya vcpkg.json
içerirCONTROL
.
Örneğin, aşağıdaki dizin yapısını göz önünde bulundurun:
-
x/vcpkg.json
"name"
, alanı olarak"a"
ayarlanır. -
x/portfile.cmake
, içina
ilişkili derleme yönergeleri. -
x/b/vcpkg.json
"name"
, alanı olarak"b"
ayarlanır. -
x/b/portfile.cmake
, içinb
ilişkili derleme yönergeleri. -
y/c/vcpkg.json
"name"
, alanı olarak"c"
ayarlanır. -
y/c/portfile.cmake
, içinc
ilişkili derleme yönergeleri. -
y/d/vcpkg.json
"name"
, alanı olarak"d"
ayarlanır. -
y/d/portfile.cmake
, içind
ilişkili derleme yönergeleri.
vcpkg, aşağıdaki ayarlara göre aşağıdaki bağlantı noktalarını dikkate alır:
-
--overlay-ports=x
: Bu katmanda bir bağlantı noktası vardır:a
. Ad kaynağındanvcpkg.json
türetilir. Alt dizinb
dikkate alınmaz. -
--overlay-ports=x/b
: Bu katmanda bir bağlantı noktası vardır:b
. Ad kaynağındanvcpkg.json
türetilir. -
--overlay-ports=y
: Bu katmandac
iki bağlantı noktası vardır ved
. Adları alt dizinlerindeny
türetilir ve içinde bildirilen adlarvcpkg.json
eşleşmelidir veya vcpkg'nin veyac
değerini dikkated
alması istenirse bir hata oluşturulur.
Katman bağlantı noktası yapılandırmasına çeşitli yollarla ekleyebilirsiniz:
- Komut satırı: Komut satırına bir veya daha fazla
--overlay-ports=<directory>
seçenek ekleyin. -
Bildirim: içindeki
"overlay-ports"
diziyivcpkg-configuration.json
doldurun. -
Ortam değişkeni: Yol karakteri sınırlandırılmış listesine ayarlayın
VCPKG_OVERLAY_PORTS
.
Örnek: Katman Bağlantı Noktaları Örneği
Bu dizin yapısı göz önünde bulundurulduğunda:
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
Kaynakmy-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
Kaynakteam-ports
-
rapidjson
Kaynakmy-ports
-
curl
Kaynakvcpkg/ports
Ö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.