为命令行生成设置路径和环境变量

Visual C++ 命令行生成工具需要多个为安装自定义的环境变量。 安装 Visual Studio 后,它将创建可设置所需环境变量的命令文件,然后创建可启动“命令提示符”窗口的快捷方式,在该窗口中这些变量已设置完毕。 当你想要使用命令行工具时,可以运行这些快捷方式之一,也可以打开纯“命令提示符”窗口,然后运行 vcvarsall.bat 命令文件。

Visual C++ 命令行工具使用 PATH、TMP、INCLUDE、LIB 和 LIBPATH 环境变量,还可以使用特定于工具的环境变量。 由于这些环境变量的值特定于安装,并且可能因产品更新或升级而进行更改,因此建议使用 vcvarsall.bat 或“开发人员命令提示”快捷方式,而不是由你自行设置它们。 有关由编译器和链接器使用的特定环境变量的信息,请参阅 CL 环境变量LINK 环境变量

备注

多个命令行工具或工具选项都需要管理员权限。若要使用它们,建议通过使用“以管理员身份运行”选项(位于要打开的“命令提示符”窗口的快捷菜单上)打开“命令提示符”窗口。

使用“命令提示”快捷方式

包括在每个版本的 Visual Studio 中的“开发人员命令提示”快捷方式将打开“命令提示符”窗口,并设置环境以使用要面向 x86 处理器的 32 位 x86 本机工具集。 还可以使用面向 x64 和 ARM 平台的 32 位跨编译器的命令提示符。 还可以使用面向 x64 处理器的 64 位 x64 本机工具集的“命令提示”快捷方式,以及面向 x86 处理器的 64 位跨编译器的“命令提示”快捷方式,具体取决于你的系统和安装的 Visual Studio 版本。 可在所有版本的 Visual Studio 中使用这些版本的命令行工具集:

  • x86 on x86
    使用此工具集可为 x86 计算机创建输出文件。 它在 x86 计算机上和 64 位 Windows 操作系统中的 WOW64 下作为 32 位本机进程运行。

  • x64 on x86(x64 跨平台编译器)
    使用此工具集可为 x64 创建输出文件。 它在 x86 计算机上和 64 位 Windows 操作系统中的 WOW64 下作为 32 位本机进程运行。

  • x86 上的 ARM(ARM 跨平台编译器)
    使用此工具集可为 ARM 计算机创建输出文件。 它在 x86 计算机上和 64 位 Windows 操作系统中的 WOW64 下作为 32 位本机进程运行。

可在 64 位平台上使用这些版本的命令行工具集:

  • x64 上的 x86
    使用此工具集可为 x86 计算机创建输出文件。 它在 64 位 Windows 操作系统上作为本机进程运行。

  • x64 onx64
    使用此工具集可为 x64 计算机创建输出文件。 它在 64 位 Windows 操作系统上作为本机进程运行。

  • x64 上的 ARM(ARM 跨平台编译器)
    使用此工具集可为 ARM 计算机创建输出文件。 它在 64 位 Windows 操作系统上作为 64 位本机进程运行。

打开“开发人员命令提示”窗口

  1. 在显示的 Windows 8“开始”屏幕上,键入 Visual Studio Tools。 请注意,随着你的键入搜索结果将相应变化,当**“Visual Studio Tools”**出现时,请选择它。

    在早期版本的 Windows 上,选择**“开始”,然后在搜索框中键入 Visual Studio Tools。 当“Visual Studio Tools”**出现在搜索结果中时,请选择它。

  2. 在**“Visual Studio Tools”文件夹中,打开适用于你的 Visual Studio 版本的“开发人员命令提示”。 (若要以管理员身份运行,请打开“开发人员命令提示”的快捷菜单,然后选择“以管理员身份运行”**。)

“开发人员命令提示”将设置环境以使用要面向 x86 处理器的 32 位本机工具集。 选择**“x64 兼容工具命令提示”以使用要面向 x64 处理器的 32 位本机工具集。 选择“ARM 兼容工具命令提示”以使用要面向 ARM 处理器的 32 位本机工具集。 选择“x64 本机工具命令提示”**以使用要面向 x64 处理器的 64 位本机工具集。

在“命令提示符”窗口中使用 vcvarsall.bat

通过在纯“命令提示符”窗口中运行 vcvarsall.bat,可设置环境变量以配置适用于 32 位或 64 位本机编译的命令行,或适用于面向 x86、x64 或 ARM 处理器的交叉编译的命令行。 如果未提供任何参数,vcvarsall.bat 将配置环境变量以供使用面向 x86 的 32 位本机编译器。 但是,你可以用该编译器来配置所有的编译器。 如果指定在生成计算机体系结构上未安装或不可用的编译器配置,将会显示一条消息。 下表显示了支持的参数。

Vcvarsall.bat 参数

编译器

生成计算机体系结构

生成输出体系结构

x86

x86 32 位本机

x86, x64

x86

x86_amd64

x86 跨平台上的 x64

x86, x64

x64

x86_arm

x86 跨平台上的 ARM

x86, x64

ARM

amd64

x64 64 位本机编译器

x64

x64

amd64_x86

x64 跨平台上的 x86

x64

x86

amd64_arm

x64 跨平台上的 ARM

x64

ARM

以下步骤显示如何配置“命令提示”,以使用要面向 x86 平台的 32 位本机工具集。

运行 vcvarsall.bat

  1. 在命令提示符下,更改到 Visual C++ 安装目录。 (该位置取决于系统和 Visual Studio 安装,但典型位置是 C:\Program Files (x86)\Microsoft Visual Studio version\VC\。)例如,输入:

    cd "\Program Files (x86)\Microsoft Visual Studio 12.0\VC"

  2. 若要为 32 位 x86 命令行生成配置此“命令提示符”窗口,请在命令提示符下,输入:

    vcvarsall x86

Visual Studio 还提供 vcvars32.bat 来设置命令行环境。 vcvars32.bat 文件仅限于设置适当的环境变量,以启用 32 位 x86 命令行生成。 它与 vcvarsall x86 命令等效。

如果你要将 DEVENV 用于命令行生成,除非还指定了 /useenv 选项,否则由 vcvarsall.bat 或 vcvars32.bat 设置的环境不会对你的生成产生任何影响。

警告

vcvarsall.bat 文件在不同的计算机中会有所不同。不要使用另一台计算机中的文件替换丢失或损坏的 vcvarsall.bat 文件。重新运行 Visual Studio 安装程序以替换丢失的文件。

vcvarsall.bat 文件在不同的版本中也会有所不同。如果安装 Visual C++ 的当前版本的计算机上也安装有 Visual C++ 的早期版本,则不要在同一“命令提示符”窗口中运行来自不同版本的 vcvarsall.bat 或 vcvars32.bat。

请参见

参考

链接器选项

编译器选项

概念

链接

其他资源

在命令行上生成

编译 C/C++ 程序