Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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:
- Katalog określony w wierszu polecenia za pośrednictwem
--overlay-ports, lub nazwanych podkatalogów, jeśli ten katalog nieCONTROLma pliku lubvcpkg.json. - Katalog określony w
vcpkg-configuration.jsonpliku za pośrednictwemoverlay-ports, lub nazwanych podkatalogów, jeśli ten katalog nieCONTROLma pliku lubvcpkg.json. - Katalog określony przez
VCPKG_OVERLAY_PORTSwpisy zmiennej środowiskowej lub nazwane podkatalogi, jeśli ten katalog nieCONTROLma pliku lubvcpkg.json.
Podczas rozpoznawania nazw portów wybrano pierwszą lokalizację zawierającą pasujący port nakładki.
Korzystanie z portu nakładki
Jeśli określono port nakładki, najpierw vcpkg próbuje załadować ten katalog jako port. Jeśli to się powiedzie, sam katalog jest traktowany jako port, a nazwa nakładki pochodzi z CONTROL pliku lub vcpkg.json . W przeciwnym razie rozważane są podkatalogi z nazwą portu nakładki.
Prawidłowe porty zawierają portfile.cmakewartości , i vcpkg.json lub CONTROL.
Rozważmy na przykład następującą strukturę katalogów:
-
x/vcpkg.json"name", pole jest ustawione na"a". -
x/portfile.cmake, skojarzone instrukcje kompilacji dla .a -
x/b/vcpkg.json"name", pole jest ustawione na"b". -
x/b/portfile.cmake, skojarzone instrukcje kompilacji dla .b -
y/c/vcpkg.json"name", pole jest ustawione na"c". -
y/c/portfile.cmake, skojarzone instrukcje kompilacji dla .c -
y/d/vcpkg.json"name", pole jest ustawione na"d". -
y/d/portfile.cmake, skojarzone instrukcje kompilacji dla .d
Narzędzie vcpkg rozważy następujące porty, biorąc pod uwagę następujące ustawienia:
-
--overlay-ports=x: W tej nakładce znajduje się jeden port.aNazwa pochodzi z .vcpkg.jsonPodkatalog nie jest brany podkatalogb. -
--overlay-ports=x/b: W tej nakładce znajduje się jeden port.bNazwa pochodzi z .vcpkg.json -
--overlay-ports=y: W tej nakładce znajdują się dwa porty:cid. Ich nazwy pochodzą z podkatalogówy, a nazwy zadeklarowane w ichvcpkg.jsonmusi być zgodne lub zostanie wygenerowany błąd, jeśli zostanie poproszony o rozważenieclubd.
Konfigurację portu nakładki można dodać na kilka sposobów:
- Wiersz polecenia: dodaj co najmniej jedną
--overlay-ports=<directory>opcję do wiersza polecenia. -
Manifest: Wypełnij tablicę
"overlay-ports"w plikuvcpkg-configuration.json. -
Zmienna środowiskowa: ustaw
VCPKG_OVERLAY_PORTSna listę rozdzielaną znakami ścieżki.
Przykład: przykład portów nakładki
Biorąc pod uwagę tę strukturę katalogów:
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 rejestr domyślny.
Uruchom:
vcpkg install sqlite3 --overlay-ports=my-ports --overlay-ports=team-ports
W celu zainstalowania stabilizatorów:
-
sqlite3zmy-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:
-
sqlite3zteam-ports -
rapidjsonzmy-ports -
curlzvcpkg/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.