Поделиться через


Экспорт vcpkg

Краткие сведения

vcpkg export [options] {<package>... | --x-all-installed}

Description

Экспортирует встроенные пакеты из установленного каталога в автономный пакет SDK для разработчиков.

export создает автономный распространяемый пакет SDK (пакет средств разработки программного обеспечения), который можно использовать на другом компьютере без отдельной приобретения vcpkg. Она содержит:

  1. Предварительно созданные двоичные файлы для выбранных пакетов
  2. Их транзитивные зависимости
  3. Файлы интеграции, такие как цепочка инструментов CMake или props/targets MSBuild

Примечание.

Поведение этой команды отличается в классическом режиме и режиме манифеста

Команда export не устанавливает пакеты или транзитивные зависимости. Он экспортирует только установленные пакеты.

Дополнительные сведения см. в режиме манифеста или классическом режиме.

Классический режим

В классическом режиме принимает аргументы спецификации пакета с тройным значением (например: vcpkg exportzlib: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-файл.

Стандартная интеграция

Большинство форматов экспорта содержат стандартный набор файлов интеграции:

Некоторые форматы экспорта отличаются от этого стандартного набора; Дополнительные сведения см. в справке по отдельному формату ниже.

Список типов

Официально поддерживаемые форматы пакета SDK:

Экспериментальные форматы пакета SDK (могут изменяться или удаляться в любое время):

Необработанный каталог

vcpkg export --raw [options] <package>...

Создайте макет несжатого каталога по адресу <output-dir>/<output>/.

Содержит стандартные файлы интеграции.

Почтовый индекс

vcpkg export --zip [options] <package>...

Создайте сжатый макет каталога ZIP по адресу <output-dir>/<output>.zip.

Содержит стандартные файлы интеграции.

7Zip

vcpkg export --7zip [options] <package>...

Создайте макет каталога 7zip по адресу <output-dir>/<output>.7z.

Содержит стандартные файлы интеграции.

NuGet

vcpkg export --nuget [options] <package>...

Создайте пакет NuGet по адресу<output-dir>/<nuget-id>.<nuget-version>.nupkg.

Содержит файлы интеграции уровня "Стандартный", а также дополнительную интеграцию MSBuild для поддержки включения в проект MSBuild C++ (.vcxproj) через диспетчер пакетов NuGet. Обратите внимание, что вы не можете смешивать несколько пакетов NuGet, созданных вместе export , — будет использоваться только один из пакетов. Чтобы добавить дополнительные библиотеки, необходимо создать новый экспорт с полным набором зависимостей.

Форматирование определенных параметров:

IFW

Примечание.

В этом разделе рассматривается экспериментальная функция vcpkg, которая может изменяться или удаляться в любое время.

vcpkg export --ifw [options] <package>...

Экспорт в установщик на основе IFW.

Форматирование определенных параметров:

Chocolatey

Примечание.

В этом разделе рассматривается экспериментальная функция vcpkg, которая может изменяться или удаляться в любое время.

vcpkg export --x-chocolatey [options] <package>...

Экспорт пакета Шоколада.

Форматирование определенных параметров:

Префаб

Примечание.

В этом разделе рассматривается экспериментальная функция vcpkg, которая может изменяться или удаляться в любое время.

vcpkg export --prefab [options] <package>...

Экспорт в формат prefab.

Форматирование определенных параметров:

Параметры

Все команды vcpkg поддерживают набор общих параметров.

<package>

Это список встроенных пакетов верхнего уровня, которые будут включены в пакет SDK. Все зависимости этих пакетов также будут включены, чтобы обеспечить автономность результирующего пакета SDK.

Синтаксис пакета

<port name>:<triplet>

Ссылки на пакеты без триплета автоматически определяются целевым триплетом по умолчанию. Примечание. <port name>:<triplet> Аргументы не допускаются при использовании vcpkg export в режиме манифеста.

--x-all-installed

Примечание.

В этом разделе рассматривается экспериментальная функция vcpkg, которая может изменяться или удаляться в любое время.

Экспортируйте все установленные пакеты. Этот параметр подразумевается при использовании vcpkg export в режиме манифеста.

--dry-run

Не выполняйте экспорт, печатайте только план экспорта.

--ifw-configuration-file-path=

Укажите временный путь к файлу для конфигурации установщика.

--ifw-installer-file-path=

Укажите путь к файлу экспортированного установщика.

--ifw-packages-directory-path=

Укажите путь к временному каталогу для перепакованных пакетов.

--ifw-repository-directory-path=

Укажите путь к каталогу для экспортированного репозитория.

--ifw-repository-url=

Укажите URL-адрес удаленный репозиторий для веб-установщика.

--x-maintainer=

Укажите поддержку экспортированного пакета Chocolatey.

--nuget-description=

Указывает выходное описание для файлов NuGet .nupkg.

По умолчанию используется параметр "Экспорт NuGet Vcpkg".

--nuget-id=

Указывает идентификатор вывода для файлов NuGet .nupkg.

Этот параметр переопределяет --output параметр специально для экспортера NuGet. См --output . сведения о значениях по умолчанию.

--nuget-version=

Указывает выходную версию для файлов NuGet .nupkg.

По умолчанию — 1.0.0.

--output=

Указывает выходное базовое имя.

Каждый тип пакета SDK использует это базовое имя для определения конкретных выходных файлов. Дополнительные сведения см. в документации по пакету SDK, приведенной выше.

По умолчанию — vcpkg-export-<date>-<time>. Использование скрипта export всегда должно передавать этот флаг, чтобы обеспечить детерминированные выходные данные.

--output-dir=

Указывает выходной каталог.

Все файлы пакета SDK верхнего уровня будут созданы в этом каталоге. Этот параметр необходим в режиме манифеста. В классическом режиме это необязательно и по умолчанию используется корневой каталог vcpkg.

--prefab-artifact-id=

Идентификатор артефакта — это имя проекта в соответствии со спецификациями Maven.

--prefab-group-id=

GroupId однозначно идентифицирует проект в соответствии со спецификациями Maven.

--prefab-maven

Включите Maven.

--prefab-min-sdk=

Минимальная поддерживаемая версия пакета SDK для Android.

--prefab-target-sdk=

Поддерживаемая версия пакета SDK для Android.

--prefab-version=

Версия — это версия проекта в соответствии со спецификациями Maven.

--x-version-suffix=

Укажите суффикс версии, добавляемый для экспортированного пакета Chocolatey.