命令行上的VCBuild与C++MSBuild

在Visual Studio 2010中,命令行工具vcbuild.exe将替换为msbuild.exe。可执行文件的改变意味着开关也会改变。  为了使迁移更容易,我创建了这个表作为新交换机的快速指南,并强调了这些工具之间的一些差异。  下表不是两个工具中提供的所有开关的完整表。

null

迁移到MSBuild需要具有不同扩展名的新项目类型(vcxproj)。  visualstudio附带了两个用于转换现有项目和解决方案的工具。  当处理单个项目时,“vcugrade.exe.vcproj”工具提供了一个快速转换。  在解决方案中处理多个项目时,请使用devenv转换整个解决方案(.sln)和其中的所有项目。  一旦项目或解决方案转换后没有错误,就可以使用MSBuild。

在没有显式项目配置的情况下调用VCBuild时,默认情况下用于生成所有配置和平台矩阵,而MSBuild只生成默认的“Debug | Win32”。

在MSBuild中,/p[roperty]开关启用的任何功能也可以通过使用相应的名称设置环境变量来启用。  例如,命令行中的“set Configuration=Debug”等同于将“/p:Configuration=Debug”传递给所有MSBuild执行。

[]=帮助记住开关的可选字符

生成项目

VCBuild.exe

MSBuild.exe

构建解决方案

VCBuild.exe

MSBuild.exe

重建

/重建

/t[arget]:重建

清洁

/清洁

/t[目标]:干净

对INCLUDE和LIB使用环境变量

/使用环境

/p[属性]:useenv=真

多处理器构建*

/米#

/男:#

站台

/平台:

/p:平台=

配置

<配置>

/p:配置=

强制链接(链接将始终执行)

/forcelink公司

/t:构建链接

通行证

/密码0

/t:构建生成资源

/密码1

/t:编译

/密码2

/t:BuildLink/p:BuildType=构建

(BuildType属性启用增量生成跟踪)

*命令行生成默认使用单个节点(/m:1)。  我们鼓励使用n个节点,其中n等于机器上的核心数。

MSBuild特定开关

单个文件生成(选定的文件生成)

指定将在文件上执行的文件和工具的目标名称**

/t:/p:SelectedFiles=“

/t:CLC编译

/p:SelectedFiles=“StdAfx.cpp;“主.cpp”

预处理项目文件

通过内联将在生成期间导入的所有文件来聚合项目文件。  这实际上并不执行构建。

/预处理<:file>或/pp<:fi 乐>

/pp:outfile.txt文件

文件记录

将生成记录到msbuild.log中。有关详细信息和选项,请参见msbuild帮助。

/文件记录器或/fl

冗长

沉默或增加建造的细节。

安静,几乎不会出现

/V[erbosity]:(q[uiet]、m[minimal]、n[normal]、d[etailed]或diag[nostic])

详细摘要

在构建结束时提供统计和摘要。

/详细摘要或/ds

**目前,我还不能提供一个工具列表,但是当MSDN准备就绪时,会有一个完整的可能目标列表。

如果我错过了任何你认为重要的选项,请在下面评论。  为了强调常用的开关,我省略了许多可能的开关。  如需进一步参考,请考虑以下链接:

MSBuild命令行参考- http://msdn.microsoft.com/en-us/library/ms164311.aspx

VC++在命令行上构建- http://msdn.microsoft.com/en-us/library/f35ctcxw%%28VS.100%%29.aspx

新的VC++项目/构建系统- https://channel9.msdn.com/posts/Charles/Bogdan-Mihalcea-The-New-VC-ProjectBuild-system-MSBuild-for-C/

Felix Huang公司

风险投资项目和建设团队

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享