Экспорт vcpkg

Synopsis

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

Description

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

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

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

Замечание

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

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

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

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

В классическом режиме принимает аргументы спецификации пакета с тройным значением (например: zlib:x64-windowsvcpkg export )

Вы указываете пакеты для экспорта путем добавления <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:

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

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

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

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

Zip-архив

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

Экспорт IFW удален.

Chocolatey

Экспорт шоколада был удален.

Разборный дом

Экспорт предварительной проверки удален.

Options

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

<package>

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

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

<port name>:<triplet>

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

--x-all-installed

Замечание

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

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

Копирует символы в виде обычных файлов и каталогов в экспортированных результатах.

--dry-run

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

--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.