vcpkg env

摘要

注意

此命令仅可用于 Windows。

vcpkg env [<optional command>] [--triplet=<triplet>] [--options]

说明

在当前终端中创建干净的构建环境。 创建的环境是初始化的 cmd 会话,以匹配 vcpkg 用于构建端口的会话。

会话的配置取决于三元组设置。 使用 --triplet 选项指定要面向的三元组,否则将推导出默认三元组。 根据设置,这可能会通过 vcvars 初始化 Visual Studio 构建环境。

大多数环境变量都从会话中清除,但 VCPKG_KEEP_ENV_VARS 环境变量和 VCPKG_ENV_PASSTROUGH 三元组设置中指定的环境变量除外。

使用 --bin--debug-bin--include--tools--python 选项将三元组 installed 文件夹的相应路径附加到会话环境变量的前面。 如果要使 vcpkg 安装的工具和库在会话中可用,请使用它们。 请参阅构建系统手动集成文档,了解有关 installed 文件夹层次结构的详细信息。

(可选)可以指定要执行的单个命令。 此后会话将立即终止。

示例

创建构建环境会话

PS C:\Users\vcpkg\vcpkg> vcpkg env
Microsoft Windows [Version 10.0.25905.1000]
(c) Microsoft Corporation. All rights reserved.

C:\Users\vcpkg\vcpkg>

运行单个命令

PS C:\Users\vcpkg\vcpkg> vcpkg env "cmake --version"
cmake version 3.20.21032501-MSVC_2

CMake suite maintained and supported by Kitware (kitware.com/cmake).

保留环境变量

PS C:\Users\vcpkg\vcpkg> $env:CLEARED_ENV_VAR="hello"
PS C:\Users\vcpkg\vcpkg> vcpkg env "set CLEARED_ENV_VAR"
Environment variable CLEARED_ENV_VAR not defined
PS C:\Users\vcpkg\vcpkg> $env:VCPKG_KEEP_ENV_VARS="CLEARED_ENV_VAR"
PS C:\Users\vcpkg\vcpkg> vcpkg env "set CLEARED_ENV_VAR"
CLEARED_ENV_VAR=hello

--tools 添加到环境

PS C:\Users\vcpkg\vcpkg> vcpkg install minizip[tool]
PS C:\Users\vcpkg\vcpkg> vcpkg env --tools "minizip"
MiniZip 1.1, demo of zLib + MiniZip64 package, written by Gilles Vollant
more info on MiniZip at http://www.winimage.com/zLibDll/minizip.html

Usage : minizip [-o] [-a] [-0 to -9] [-p password] [-j] file.zip [files_to_add]

  -o  Overwrite existing file.zip
  -a  Append to existing file.zip
  -0  Store only
  -1  Compress faster
  -9  Compress better

  -j  exclude path. store only the file name.

选项

所有 vcpkg 命令都支持一组通用选项

--triplet=<triplet>

指定配置环境时要面向的三元组。 这会影响 Visual Studio 构建环境初始化的方式,以及其他选项使用的 installed 路径。

有关详细信息,请参阅通用选项中的 --triplet

--bin

将三元组的安装 bin 文件夹添加到会话的 PATH 环境变量。

--debug-bin

将三元组的安装 debug/bin 文件夹添加到会话的 PATH 环境变量。

--include

将三元组的安装 include 文件夹添加到会话的 INCLUDE 环境变量。

--tools

将三元组的安装 tools 文件夹添加到会话的 PATH 环境变量。

--python

将三元组的安装 python 文件夹添加到会话的 PYTHONPATH 环境变量。