如何从命令行在MSVC项目中编译单个源文件?

时间:2012-02-14 23:25:31

标签: visual-studio visual-c++ command-line benchmarking performance-testing

我即将开始对我们的构建进行一些基准测试/测试,并且我想从命令行驱动整个事情。我知道DevEnv,但我不相信它能做我想做的事。

如果我可以在一个项目中构建一个文件,我会很高兴。

可以这样做吗?

1 个答案:

答案 0 :(得分:2)

神奇的咒语如下。请注意,这仅在VS 2010中进行了测试 - 我听说这是具有此功能的Visual Studio的第一个版本:

咒语

<msbuild> <project> <settings> <file>

其中

  • msbuildMSBuild.exe的路径。通常这应该由VS2010 bat文件为您设置,因此正确的文件将在PATH中结束,但如果没有,我会在C:\Windows\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe找到一个
  • project是源文件所在的vcxproj文件的路径。
  • settings包括以下内容:
    • /p:Configuration="Debug" //或您的配置
    • /p:Platform=x64 //或x86
    • /t:ClCompile //具体指定您要编译文件
  • file实际上是另一个设置:
    • /p:SelectedFiles="path_to_file"

注释

  • 对于<project>指定项目(vcxproj)文件而不是解决方案(sln)文件。我会使用的sln中有多个项目,所以无论如何都会有额外的工作去(甚至可以这样做)。
  • 对于/p:Platform=x64设置,有几个环境变量可以在您定位的平台上进行转换(x64 v.x86),因此请确保通过Visual Studio的vcvarsall.bat正确设置这些变量。
  • 关于path_to_file参数中的SelectedFiles,此路径必须是项目文件中指定的路径。如果路径与项目文件中用于引用源的路径不匹配,则它似乎不起作用。