vcpkg 导出

概要

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

Description

将生成的包从 已安装的目录 导出到独立的开发人员 SDK。

export 生成可在另一台计算机上使用的独立可分发 SDK(软件开发工具包),而无需单独获取 vcpkg。 该结构包含:

  1. 所选包的预生成二进制文件
  2. 它们的可传递依赖项
  3. 集成文件,例如 CMake 工具链MSBuild 属性/目标

注释

此命令的行为在经典模式清单模式下不同

此命令 export 不会安装任何包或可传递依赖项。 它仅导出已安装的包。

有关更多详细信息,请参阅 清单模式经典模式

经典模式

在经典模式下,vcpkg export接受三重限定的包规范参数(例如: zlib:x64-windows

可以通过将参数添加到 <port name>:<triplet> 命令行来指定要导出的包。

例如,若要导出包 sqlitex64-windows 请使用 x64-linux

vcpkg export sqlite:x64-windows sqlite:x64-linux --zip

此命令以 zip 格式导出指定的包。 在sqlite:x64-windows运行vcpkg export之前,必须同时安装并且sqlite:x64-linux必须安装。

清单模式

在清单模式下,命令导出当前安装的所有包。 安装目录包括清单(vcpkg.json)中声明的所有包及其可传递依赖项。 使用此命令之前运行 vcpkg install ,以确保已安装所有必需的包。

在此模式下,无法指定要导出的单个包。 该命令以单个实体的形式对整个已安装状态进行作,并遵循清单文件中指定的依赖项和版本。

另一个区别是选项的要求 --output-dir 。 此选项指定将存储导出包的目录。

例如,从清单目录中

vcpkg export --zip --output-dir=.\exports

将所有当前安装的包导出到 zip 文件中的 .\exports 目录。 该 --zip 选项指定应将导出的包压缩到 zip 文件中。

标准集成

大多数导出格式都包含一组标准集成文件:

某些导出格式不同于此标准集;有关更多详细信息,请参阅下面的单个格式帮助。

格式

官方支持的 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>...

<output-dir>/<nuget-id>.<nuget-version>.nupkg. 处创建 NuGet

包含 标准集成文件 以及其他 MSBuild 集成,以支持通过 NuGet 包管理器包含在 MSBuild C++ 项目(.vcxproj)中。 请注意,不能将生成的 export 多个 NuGet 包混合在一起 -- 仅使用其中一个包。 若要添加其他库,必须使用完整的依赖项集创建新的导出。

设置特定选项的格式:

IFW

IFW 导出已删除。

Chocolatey

巧克力出口已被删除。

预 置

Prefab 导出已删除。

选项

所有 vcpkg 命令都支持一组 常见选项

<package>

这是 SDK 中将包含的顶级生成包的列表。 还将包含这些包的任何依赖项,以确保生成的 SDK 是自包含的。

包语法

<port name>:<triplet>

不带三元的包引用由 默认目标三元组自动限定。 注意: <port name>:<triplet> 在清单模式下使用 vcpkg export 时不允许参数。

--x-all-installed

注释

本部分介绍 vcpkg 的实验性功能,该功能随时可能会更改或删除。

导出所有已安装的包。 在清单模式下使用 vcpkg export 时,隐含此选项。

将符号链接复制为导出结果中的常规文件和目录。

--dry-run

不要执行导出,只打印导出计划。

--nuget-description=

指定 NuGet .nupkg 文件的输出说明。

默认为“Vcpkg NuGet 导出”。

--nuget-id=

指定 NuGet .nupkg 文件的输出 ID。

此选项替代 --output 了特定于 NuGet 导出程序的选项。 请参阅 --output 默认值。

--nuget-version=

指定 NuGet .nupkg 文件的输出版本。

默认为 1.0.0

--output=

指定输出基名称。

每个 SDK 类型使用此基名称来确定其特定的输出文件。 有关详细信息,请参阅上述特定于 SDK 的文档。

默认为 vcpkg-export-<date>-<time>。 脚本使用 export 应始终传递此标志,以确保确定性输出。

--output-dir=

指定输出目录。

所有顶级 SDK 文件都将生成到此目录中。 此选项在清单模式下是必需的。 在经典模式下,这是可选的,默认为 vcpkg 根目录