Экспорт vcpkg
vcpkg export [options] {<package>... | --x-all-installed}
Экспортирует встроенные пакеты из установленного каталога в автономный пакет SDK для разработчиков.
export
создает автономный распространяемый пакет SDK (пакет средств разработки программного обеспечения), который можно использовать на другом компьютере без отдельной приобретения vcpkg. Она содержит:
- Предварительно созданные двоичные файлы для выбранных пакетов
- Их транзитивные зависимости
- Файлы интеграции, такие как цепочка инструментов CMake или props/targets MSBuild
Примечание
Поведение этой команды отличается в классическом режиме и режиме манифеста
Команда export
не устанавливает пакеты или транзитивные зависимости. Он экспортирует только установленные пакеты.
Дополнительные сведения см. в режиме манифеста или классическом режиме.
В классическом режиме принимает аргументы спецификации пакета с тройным значением (например: vcpkg export
zlib:x64-windows
)
Вы указываете пакеты для экспорта путем добавления <port name>:<triplet>
аргументов в командную строку.
Например, для экспорта sqlite
пакета x64-windows
и x64-linux
использования:
vcpkg export sqlite:x64-windows sqlite:x64-linux --zip
Эта команда экспортирует указанные пакеты в zip-формате. И sqlite:x64-windows
то, и sqlite:x64-linux
другое необходимо установить перед запуском vcpkg export
.
В режиме манифеста команда экспортирует все установленные пакеты. Каталог установки включает все пакеты, объявленные в манифесте (vcpkg.json
), а также их транзитивные зависимости. Запустите vcpkg install
перед использованием этой команды, чтобы убедиться, что установлены все необходимые пакеты.
В этом режиме нельзя указать отдельные пакеты для экспорта. Команда работает со всем установленным состоянием в виде одной сущности, учитывая зависимости и версии, указанные в файле манифеста.
Другое отличие заключается в требовании --output-dir
параметра. Этот параметр указывает каталог, в котором будут храниться экспортированные пакеты.
Например, из каталога манифеста
vcpkg export --zip --output-dir=.\exports
Экспортирует все установленные пакеты .\exports
в каталог в ZIP-файле. Параметр --zip
указывает, что экспортированные пакеты должны быть сжаты в ZIP-файл.
Большинство форматов экспорта содержат стандартный набор файлов интеграции:
- Цепочка инструментов CMake в
/scripts/buildsystems/vcpkg.cmake
- Реквизиты и целевые объекты
/scripts/buildsystems/msbuild/vcpkg.props
MSBuild/scripts/buildsystems/msbuild/vcpkg.targets
- Дерево установки в
/
Некоторые форматы экспорта отличаются от этого стандартного набора; Дополнительные сведения см. в справке по отдельному формату ниже.
Официально поддерживаемые форматы пакета SDK:
Экспериментальные форматы пакета SDK (могут изменяться или удаляться в любое время):
vcpkg export --raw [options] <package>...
Создайте макет несжатого каталога по адресу <output-dir>/<output>/
.
Содержит стандартные файлы интеграции.
vcpkg export --zip [options] <package>...
Создайте сжатый макет каталога ZIP по адресу <output-dir>/<output>.zip
.
Содержит стандартные файлы интеграции.
vcpkg export --7zip [options] <package>...
Создайте макет каталога 7zip по адресу <output-dir>/<output>.7z
.
Содержит стандартные файлы интеграции.
vcpkg export --nuget [options] <package>...
Создайте пакет NuGet по адресу<output-dir>/<nuget-id>.<nuget-version>.nupkg
.
Содержит файлы интеграции уровня "Стандартный", а также дополнительную интеграцию MSBuild для поддержки включения в проект MSBuild C++ (.vcxproj
) через диспетчер пакетов NuGet. Обратите внимание, что вы не можете смешивать несколько пакетов NuGet, созданных вместе export
, — будет использоваться только один из пакетов. Чтобы добавить дополнительные библиотеки, необходимо создать новый экспорт с полным набором зависимостей.
Форматирование определенных параметров:
Примечание
В этом разделе рассматривается экспериментальная функция vcpkg, которая может изменяться или удаляться в любое время.
vcpkg export --ifw [options] <package>...
Экспорт в установщик на основе IFW.
Форматирование определенных параметров:
--ifw-configuration-file-path
--ifw-installer-file-path
--ifw-packages-directory-path
--ifw-repository-directory-path
--ifw-repository-url
Примечание
В этом разделе рассматривается экспериментальная функция vcpkg, которая может изменяться или удаляться в любое время.
vcpkg export --x-chocolatey [options] <package>...
Экспорт пакета Шоколада.
Форматирование определенных параметров:
Примечание
В этом разделе рассматривается экспериментальная функция vcpkg, которая может изменяться или удаляться в любое время.
vcpkg export --prefab [options] <package>...
Экспорт в формат prefab.
Форматирование определенных параметров:
--prefab-artifact-id
--prefab-group-id
--prefab-maven
--prefab-min-sdk
--prefab-target-sdk
--prefab-version
Все команды vcpkg поддерживают набор общих параметров.
Это список встроенных пакетов верхнего уровня, которые будут включены в пакет SDK. Все зависимости этих пакетов также будут включены, чтобы обеспечить автономность результирующего пакета SDK.
Синтаксис пакета
<port name>:<triplet>
Ссылки на пакеты без триплета автоматически определяются целевым триплетом по умолчанию.
Примечание. <port name>:<triplet>
Аргументы не допускаются при использовании vcpkg export
в режиме манифеста.
Примечание
В этом разделе рассматривается экспериментальная функция vcpkg, которая может изменяться или удаляться в любое время.
Экспортируйте все установленные пакеты. Этот параметр подразумевается при использовании vcpkg export
в режиме манифеста.
Не выполняйте экспорт, печатайте только план экспорта.
Укажите временный путь к файлу для конфигурации установщика.
Укажите путь к файлу экспортированного установщика.
Укажите путь к временному каталогу для перепакованных пакетов.
Укажите путь к каталогу для экспортированного репозитория.
Укажите URL-адрес удаленный репозиторий для веб-установщика.
Укажите поддержку экспортированного пакета Chocolatey.
Указывает выходное описание для файлов NuGet .nupkg.
По умолчанию используется параметр "Экспорт NuGet Vcpkg".
Указывает идентификатор вывода для файлов NuGet .nupkg.
Этот параметр переопределяет --output
параметр специально для экспортера NuGet. См --output
. сведения о значениях по умолчанию.
Указывает выходную версию для файлов NuGet .nupkg.
По умолчанию — 1.0.0
.
Указывает выходное базовое имя.
Каждый тип пакета SDK использует это базовое имя для определения конкретных выходных файлов. Дополнительные сведения см. в документации по пакету SDK, приведенной выше.
По умолчанию — vcpkg-export-<date>-<time>
. Использование скрипта export
всегда должно передавать этот флаг, чтобы обеспечить детерминированные выходные данные.
Указывает выходной каталог.
Все файлы пакета SDK верхнего уровня будут созданы в этом каталоге. Этот параметр необходим в режиме манифеста. В классическом режиме это необязательно и по умолчанию используется корневой каталог vcpkg.
Идентификатор артефакта — это имя проекта в соответствии со спецификациями Maven.
GroupId однозначно идентифицирует проект в соответствии со спецификациями Maven.
Включите Maven.
Минимальная поддерживаемая версия пакета SDK для Android.
Поддерживаемая версия пакета SDK для Android.
Версия — это версия проекта в соответствии со спецификациями Maven.
Укажите суффикс версии, добавляемый для экспортированного пакета Chocolatey.
Отзыв о vcpkg
vcpkg — это проект с открытым исходным кодом. Выберите ссылку, чтобы оставить отзыв: