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

Compiling on the command line in Visual C++

本文关键字:命令行 编译 Visual C++      更新时间:2023-10-16

有人知道如何在Visual C++中使用命令行编译器('cl'和'link')来构建项目吗?我们在这里更习惯于"make"answers"gcc",但最近被转移到了Visual Studio。我想我们可以使用nmake,但我希望获得一些关于使用"cl"answers"link"的信息(比如在没有.sln文件的情况下编译)。

类似的东西

  1. 创建对象文件
  2. 链接对象文件以创建可执行文件

是我们想要的,但我似乎无法使用命令行参数使其工作。请帮忙?

正如我常说的,任何与微软相关的东西都可以在MSDN上找到,只需快速访问谷歌即可。

cl.exe文档如下:http://msdn.microsoft.com/en-us/library/ms235639%28v=vs.100%29.aspx

这很简单,只需输入cl.exe目录并在cmd中写入即可。

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

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

  • vcvarsall.bat
  • cl.exe

vcvarsall.bat是一个shell脚本,负责确定在哪个体系结构上运行,并在路径中包含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_HOMEC:\Program Files(x86)\Microsoft Visual Studio 11.0\VC,并包含在路径%VC_HOME%;%中VC_HOME%\bin;

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

编辑:很抱歉,没有注意到'without.sln'部分。请忽略这个答案。我将把它留给其他可能真正需要的人,但这不是最初问题的答案。

如果你只想构建一个解决方案/项目文件(也就是说,你的大多数构建设置已经在你的项目文件中定义了),你可以使用devenv.exe为你构建解决方案/工程——这可能是从命令行进行构建的最简单方法。

例如:

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

清洁&在CCD_ 4配置中构建CCD_ 3解决方案。

如果你运行

devenv.exe /?

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

如果你需要更多的灵活性(并且你愿意花很多时间编写正确的脚本),你可以使用nmake从命令行进行构建,但我不太清楚,所以我不能给出有用的建议。