在Visual C ++中的命令行上进行编译

时间:2012-03-22 01:48:27

标签: c++ compiler-construction command-line

有没有人知道如何在Visual C ++中使用命令行编译器(' cl'和' link')来构建项目?我们更习惯于制作'和' gcc'这里,但最近搬到了Visual Studio。我想我们可以使用nmake,但我希望获得有关使用' cl'并且'链接' (如在没有.sln文件的情况下进行编译)。

的内容
  1. 创建对象文件
  2. 链接目标文件以创建可执行文件
  3. 是我们想要的,但我似乎无法使用命令行参数使其工作。请帮忙吗?

3 个答案:

答案 0 :(得分:3)

正如我常说的那样,任何微软相关的内容都可以在MSDN上找到并快速访问谷歌。

cl.exe在此处记录:http://msdn.microsoft.com/en-us/library/ms235639%28v=vs.100%29.aspx

只需输入cl.exe目录并在cmd中写入即可。

cl.exe /?然后它将列出所有可用的标志。

答案 1 :(得分:3)

您需要在路径中获取2个文件:

  • vcvarsall.bat
  • cl.exe时

vcvarsall.bat 是一个shellcript,负责确定您在哪个体系结构上运行,并在您的路径中包含多个 cl 编译器需要的文件夹。在我的电脑上,此脚本位于 C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ VC

cl.exe是编译器本身,在我的电脑上位于 C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ VC \ bin

我只是声明了一个环境变量 VC_HOME C:\ Program Files(x86)\ Microsoft Visual Studio 11.0 \ VC 并包含在Path%VC_HOME%;%中VC_HOME%\ bin中;

现在当你打开shell时,首先运行vcvarsall.bat然后你可以说:cl MyProgramm.cpp

答案 2 :(得分:1)

编辑:抱歉,没有注意到“没有.sln”部分。请忽略这个答案。我将其留给原本可能需要的其他人,但这不是对原始问题的回答。

如果您只想构建解决方案/项目文件(即,您的项目文件中已经定义了大部分构建设置),您可以使用devenv.exe为您构建解决方案/项目 - 这可能是从命令行进行构建的最简单方法。

例如:

devenv.exe myapp.sln /Rebuild "Release|x64"

清洁&在myapp.sln配置中构建Release|x64解决方案。

如果你跑

devenv.exe /?

命令,它为您提供所有命令行选项。您可以使用devenv通过使用`/ project'开关在解决方案中仅构建特定项目。

如果您需要更多灵活性(并且您愿意花费大量时间编写正确的脚本),可以使用nmake从命令行构建,但我不太了解,所以我无法给出有用的建议。