Udostępnij za pośrednictwem


Porty nakładki

Zazwyczaj porty vcpkg są uzyskiwane z rejestrów. Jest bardzo prawdopodobne, że większość zainstalowanych portów pochodzi z oficjalnego rejestru vcpkg pod adresem https://github.com/Microsoft/vcpkg. Narzędzie vcpkg umożliwia zainstalowanie dostępnych portów za pośrednictwem systemu plików, które nazywamy tymi portami, portami nakładki.

Port nakładki może działać jako wymiana upuszczania istniejącego portu lub jako nowego portu, który w przeciwnym razie nie jest dostępny w rejestrze. Podczas rozpoznawania nazw pakietów porty nakładki mają priorytet.

Porty nakładki są oceniane w następującej kolejności:

  • Lokalizacje nakładki określone w wierszu polecenia za pomocą polecenia .--overlay-ports
  • Lokalizacje nakładki określone w vcpkg-configuration.json pliku za pomocą polecenia overlay-ports.
  • Lokalizacje nakładki określone przez zmienną środowiskową VCPKG_OVERLAY_PORTS .

Podczas rozpoznawania nazw portów wybrano pierwszą lokalizację zawierającą pasujący port nakładki.

Korzystanie z portu nakładki

Katalog może reprezentować zestaw portów nakładki i można go określić na jeden z dwóch sposobów:

  • Pojedynczy port nakładki: <directory>/sqlite3 odwołuje się do pojedynczego portu
  • Katalog portów nakładki: <directory> odwołuje się do katalogu portów Prawidłowy port musi zawierać zarówno vcpkg.json i portfile.cmake.

Port nakładki można dodać na kilka sposobów:

  • Wiersz polecenia: dodaj jedną lub wiele --overlay-ports=<directory> opcji do polecenia vcpkg
  • Manifest: Wypełnij tablicę "overlay-ports" w vcpkg-configuration.json
  • Zmienna środowiskowa: ustaw VCPKG_OVERLAY_PORTS na listę ścieżek katalogu

Przykład: przykład portów nakładki

Biorąc pod uwagę tę strukturę katalogów:

Example with multiple overlay port directories

Katalog nakładki o nazwie team-ports zawiera porty sqlite3, rapidjson i curl. Katalog nakładki o nazwie my-ports zawiera porty sqlite3 i rapidjson. Katalog vcpkg zawiera katalog domyślny.

Uruchom:

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

W celu zainstalowania stabilizatorów:

  • sqlite3 Z my-ports

Uruchom:

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

W celu zainstalowania stabilizatorów:

  • sqlite3 Z team-ports
  • rapidjson Z my-ports
  • curl z "vcpkg/ports"

Przykład: używanie portów nakładki do używania zależności menedżera pakietów systemowych

Aby użyć zależności menedżera pakietów systemowych za pośrednictwem vcpkg jeden, zapoznaj się z naszym wpisem w blogu.