Visual Studio 2012的C++命令行编译器

13

我已经安装了Visual Studio Express 2012并将cl.exe添加到了我的PATH,但显然缺少一个dll(?),即mspdb110.dll,我还注意到有两个位于不同路径下的cl.exe

C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\bin\x86_amd64

我该如何使用VS编译器在命令行编译main.cpp文件?在哪里可以找到这个编译器的参考资料?

谢谢。


+1 对于以正确的方式完成翻译。 - user529758
1个回答

16

从您安装Visual Studio的目录下的VC目录中运行vcvarsall.bat批处理文件(例如,在我的电脑上,它位于C:\Program Files(x86)\Microsoft Visual Studio 11.0 \ VC中)。此批处理文件将配置工具链使用所需的环境。

默认情况下,它会配置用于x86本机工具链的环境。您还可以向批处理文件提供参数以使用其他工具链。例如,您可以传递amd64以使用本机x64工具链,或者x86_amd64以使用x86 - > x64交叉编译工具链。如果您对其他选项或它确切地配置了什么感兴趣,请查看批处理文件的内容。


1
第一步和第二步是什么,哪一个比较复杂? - James McNellis
我应该指出vcvarsall.bat是唯一一个好的使用方式。我安装了3个主要的Visual Studio版本(2008用于Python,2010用于CUDA,2012用于通用目的)。如果没有vcvarsall.bat文件,我将完全无助,因为需要更改配置(PATH等)。 - Seçkin Savaşçı
@SeçkinSavaşçı 我需要从 PATH 中删除 cl.exe 吗? - user1824407
@user1824407:可以安装多个版本的Visual C++。vcvarsall.bat批处理文件允许您通过为每个工具链配置环境来使用不同的工具链。如果所有内容都只添加到%path%,那是行不通的。即使您只安装了一个版本的Visual Studio,也会安装四种不同的工具链:x86和x64本地工具链以及x86-> x64和x86-> arm交叉编译工具链。需要为这些每一个配置环境。 - James McNellis
@JamesMcNellis说得有道理,但实际上没有文档告诉你应该这样做... - user1824407
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接