Eksportowanie programu vcpkg
Streszczenie
vcpkg export [options] {<package>... | --x-all-installed}
opis
Eksportuje wbudowane pakiety z zainstalowanego katalogu do autonomicznego zestawu SDK dla deweloperów.
export
Tworzy autonomiczny, dystrybucyjny zestaw SDK (Software Development Kit), który może być używany na innym komputerze bez oddzielnego uzyskiwania vcpkg. Zawiera:
- Wstępnie utworzone pliki binarne dla wybranych pakietów
- Ich przejściowe zależności
- Pliki integracji, takie jak łańcuch narzędzi narzędzia CMake lub rekwizyty/obiekty docelowe MSBuild
Uwaga
Zachowanie tego polecenia różni się w trybie klasycznym i w trybie manifestu
Polecenie export
nie instaluje żadnych pakietów ani zależności przechodnich. Eksportuje tylko pakiety, które są już zainstalowane.
Aby uzyskać więcej informacji, zobacz Tryb manifestu lub Tryb klasyczny.
Tryb klasyczny
W trybie klasycznym akceptuje argumenty specyfikacji pakietów kwalifikowanych trzykrotnie (na przykład: zlib:x64-windows
) vcpkg export
Pakiety do wyeksportowania można określić, dodając <port name>:<triplet>
argumenty do wiersza polecenia.
Aby na przykład wyeksportować sqlite
pakiet dla x64-windows
elementu i x64-linux
, użyj polecenia :
vcpkg export sqlite:x64-windows sqlite:x64-linux --zip
To polecenie eksportuje określone pakiety w formacie zip. Zarówno sqlite:x64-windows
, jak i sqlite:x64-linux
należy zainstalować przed uruchomieniem polecenia vcpkg export
.
Tryb manifestu
W trybie manifestu polecenie eksportuje wszystkie aktualnie zainstalowane pakiety. Katalog instalacyjny zawiera wszystkie pakiety zadeklarowane w manifeście (vcpkg.json
), a także ich przejściowe zależności. Uruchom polecenie vcpkg install
przed użyciem tego polecenia, aby upewnić się, że wszystkie wymagane pakiety są zainstalowane.
W tym trybie nie można określić poszczególnych pakietów do wyeksportowania. Polecenie działa w całym stanie zainstalowanym jako jedna jednostka, szanując zależności i wersje określone w pliku manifestu.
Inną różnicą jest wymaganie --output-dir
opcji. Ta opcja określa katalog, w którym będą przechowywane wyeksportowane pakiety.
Na przykład z katalogu manifestu
vcpkg export --zip --output-dir=.\exports
Eksportuje wszystkie aktualnie zainstalowane pakiety do .\exports
katalogu w pliku zip. Opcja --zip
określa, że wyeksportowane pakiety powinny być skompresowane do pliku zip.
Standardowa integracja
Większość formatów eksportu zawiera standardowy zestaw plików integracji:
- Łańcuch narzędzi CMake pod adresem
/scripts/buildsystems/vcpkg.cmake
- Rekwizyty/obiekty docelowe programu MSBuild w i
/scripts/buildsystems/msbuild/vcpkg.props
/scripts/buildsystems/msbuild/vcpkg.targets
- Drzewo instalacji w lokalizacji
/
Niektóre formaty eksportu różnią się od tego zestawu standardowego; Aby uzyskać więcej informacji, zobacz pomoc dotyczącą indywidualnego formatu poniżej.
Formaty
Oficjalnie obsługiwane formaty zestawu SDK:
Eksperymentalne formaty zestawu SDK (mogą zostać w dowolnym momencie zmienione lub usunięte):
Nieprzetworzona katalog
vcpkg export --raw [options] <package>...
Utwórz nieskompresowany układ katalogu pod adresem <output-dir>/<output>/
.
Zawiera standardowe pliki integracji.
Zip
vcpkg export --zip [options] <package>...
Utwórz skompresowany układ katalogu zip pod adresem <output-dir>/<output>.zip
.
Zawiera standardowe pliki integracji.
7Zip
vcpkg export --7zip [options] <package>...
Utwórz układ katalogu 7zip pod adresem <output-dir>/<output>.7z
.
Zawiera standardowe pliki integracji.
NuGet
vcpkg export --nuget [options] <package>...
Utwórz pakiet NuGet pod adresem <output-dir>/<nuget-id>.<nuget-version>.nupkg
.
Zawiera standardowe pliki integracji, a także dodatkową integrację msBuild w celu obsługi dołączania do projektu MSBuild C++ (.vcxproj
) za pośrednictwem Menedżer pakietów NuGet. Należy pamiętać, że nie można mieszać wielu pakietów NuGet utworzonych razem export
— będzie używany tylko jeden z pakietów. Aby dodać dodatkowe biblioteki, należy utworzyć nowy eksport z pełnym zestawem zależności.
Opcje specyficzne dla formatu:
IFW
Uwaga
W tej sekcji opisano eksperymentalną funkcję vcpkg, która może ulec zmianie lub zostać usunięta w dowolnym momencie.
vcpkg export --ifw [options] <package>...
Wyeksportuj do instalatora opartego na ifw.
Opcje specyficzne dla formatu:
--ifw-configuration-file-path
--ifw-installer-file-path
--ifw-packages-directory-path
--ifw-repository-directory-path
--ifw-repository-url
Czekoladka
Uwaga
W tej sekcji opisano eksperymentalną funkcję vcpkg, która może ulec zmianie lub zostać usunięta w dowolnym momencie.
vcpkg export --x-chocolatey [options] <package>...
Eksportowanie pakietu Chocolatey.
Opcje specyficzne dla formatu:
Prefab
Uwaga
W tej sekcji opisano eksperymentalną funkcję vcpkg, która może ulec zmianie lub zostać usunięta w dowolnym momencie.
vcpkg export --prefab [options] <package>...
Eksportuj do formatu prefab.
Opcje specyficzne dla formatu:
--prefab-artifact-id
--prefab-group-id
--prefab-maven
--prefab-min-sdk
--prefab-target-sdk
--prefab-version
Opcje
Wszystkie polecenia vcpkg obsługują zestaw typowych opcji.
<package>
Jest to lista pakietów skompilowanych najwyższego poziomu, które zostaną uwzględnione w zestawie SDK. Wszystkie zależności tych pakietów zostaną również uwzględnione, aby upewnić się, że wynikowy zestaw SDK jest samodzielny.
Składnia pakietu
<port name>:<triplet>
Odwołania do pakietów bez trojaków są automatycznie kwalifikowane do domyślnej trójki docelowej.
Uwaga: <port name>:<triplet>
argumenty nie są dozwolone w przypadku używania vcpkg export
w trybie manifestu.
--x-all-installed
Uwaga
W tej sekcji opisano eksperymentalną funkcję vcpkg, która może ulec zmianie lub zostać usunięta w dowolnym momencie.
Eksportuj wszystkie zainstalowane pakiety. Ta opcja jest dorozumiana w przypadku używania vcpkg export
w trybie manifestu.
--dry-run
Nie wykonuj eksportu, drukuj tylko plan eksportu.
--ifw-configuration-file-path=
Określ tymczasową ścieżkę pliku dla konfiguracji instalatora.
--ifw-installer-file-path=
Określ ścieżkę pliku dla wyeksportowanego instalatora.
--ifw-packages-directory-path=
Określ ścieżkę katalogu tymczasowego dla pakietów ponownie spakowanych.
--ifw-repository-directory-path=
Określ ścieżkę katalogu dla wyeksportowanego repozytorium.
--ifw-repository-url=
Określ adres URL repozytorium zdalnego dla instalatora online.
--x-maintainer=
Określ osoby odpowiedzialne za wyeksportowany pakiet Chocolatey.
--nuget-description=
Określa opis danych wyjściowych dla plików NuGet .nupkg.
Wartość domyślna to "Eksport NuGet Vcpkg".
--nuget-id=
Określa identyfikator danych wyjściowych dla plików NuGet .nupkg.
Ta opcja zastępuje opcję specjalnie --output
dla eksportera NuGet. Zobacz --output
, aby uzyskać wartości domyślne.
--nuget-version=
Określa wersję wyjściową dla plików NuGet nupkg.
Wartość domyślna to 1.0.0
.
--output=
Określa nazwę bazową danych wyjściowych.
Każdy typ zestawu SDK używa tej nazwy podstawowej do określenia określonych plików wyjściowych. Szczegółowe informacje można znaleźć w powyższej dokumentacji dotyczącej zestawu SDK.
Wartość domyślna to vcpkg-export-<date>-<time>
. Użycie skryptu elementu export
powinno zawsze przekazywać tę flagę w celu zapewnienia deterministycznych danych wyjściowych.
--output-dir=
Określa katalog wyjściowy.
Wszystkie pliki zestawu SDK najwyższego poziomu zostaną utworzone w tym katalogu. Ta opcja jest wymagana w trybie manifestu. W trybie klasycznym jest to opcjonalne i domyślne katalog główny programu vcpkg.
--prefab-artifact-id=
Identyfikator artefaktu to nazwa projektu zgodnie ze specyfikacjami maven.
--prefab-group-id=
GroupId jednoznacznie identyfikuje projekt zgodnie ze specyfikacjami maven.
--prefab-maven
Włącz narzędzie Maven.
--prefab-min-sdk=
Minimalna obsługiwana wersja zestawu SDK dla systemu Android.
--prefab-target-sdk=
Docelowa wersja zestawu SDK obsługiwana przez system Android.
--prefab-version=
Wersja jest wersją projektu zgodnie ze specyfikacjami maven.
--x-version-suffix=
Określ sufiks wersji do dodania dla wyeksportowanego pakietu Chocolatey.