Visual C++ 包含可用于创建 apps 在 32 位上运行,64 位,或基于 ARM 的 windows 操作系统的编译器。
下面的列表描述了 cl.exe(Visual C++ 编译器)的各个版本:
- x86 on x86
-
使用这个创建 x86 计算机的输出文件。 此版本的 cl.exe 在 x86 计算机上和 64 位 Windows 操作系统中的 WOW64 下作为 32 位本机进程运行。 - x64 on x86(x64 跨平台编译器)
-
使用此创建 x64的输出文件。 此版本的 cl.exe 在 x86 计算机上和 64 位 Windows 操作系统中的 WOW64 下作为 32 位本机进程运行。 - x64 on x64
-
使用此创建 x64的输出文件。 此版本的 cl.exe 在 x64 计算机上作为本机进程运行。 - ARM on x86 (ARM 跨平台编译器)
-
使用此创建 ARM 设备的输出文件。 此版本的 cl.exe 在 x86 计算机上和 64 位 Windows 操作系统中的 WOW64 下作为 32 位本机进程运行。
在 Visual Studio 中安装 64 位 windows 操作系统时,各种 64 位本机编译器的命令提示和跨平台编译器可用。 访问在 windows 8 中这些命令提示符,在 启动屏幕,打开 所有 apps。 在 Microsoft Visual Studio 下,选择一个本机工具或跨工具命令提示。 在 windows 的早期版本中,选择 启动,展开 所有程序、Visual Studio 工具,然后选择命令提示。
启用编译器工具集的任何编译器可在命令行使用通过运行 Vcvarsall.bat 批处理文件配置路径和环境变量。 默认情况下,完整路径此文件是或 c:\program files\microsoft Visual Studio x.x\VC\vcvarsall.bat 在 32 位 windows 操作系统或 C:\Program files (x86)\Microsoft Visual Studio x.x\VC \在 64 位系统的 vcvarsall.bat。
如果未提供任何参数,Vcvarsall.bat 批处理文件配置环境变量为使用 x86,32 位编译器。 但是,您可以使用该配置任何编译器。 如果指定未安装还不在您的生成计算机体系结构的编译器配置,将会显示一条错误消息。 下表显示支持的参数。
Vcvarsall.bat 参数 |
编译器 |
生成计算机体系结构 |
生成输出体系结构 |
---|---|---|---|
x86 |
32 位本机编译器 |
x86,x64 |
x86 |
x86_amd64 |
x64 跨平台编译器 |
x86,x64 |
x64 |
amd64 |
x64 本机编译器 |
x64 |
x64 |
x86_arm |
ARM Cross |
x86,x64 |
ARM |
/MACHINE:{ARM|EBC|IA64|MIPS|MIPS16|MIPSFPU|MIPSFPU16|SH4|THUMB|X64|X86}
/MACHINE 选项指定程序的目标平台。
通常情况下,不需要指定 /MACHINE 选项。 LINK 从 .obj 文件中推断出计算机类型。 但在某些情况下,LINK 无法确定计算机类型并发出链接器工具错误 LNK1113。 如果发生了此类错误,请指定 /MACHINE
LINK 模块计算机类型“x64”与目标计算机类型“X86”冲突发出链接器工具错误 LNK1113,是因为生成Object文件的cl程序是x64的但是LINK指定的/MACHINE:X86