如何通过命令行将链接器选项传递给msbuild?

ArtDen 17 msbuild

是否可以通过msbuild的comamnd行将选项传递给链接器?例如,我想设置VC链接器选项/ PROFILE.如何在不更改C++项目文件的情况下执行此操作?

PS:Visual Studio Express 2012.

stijn.. 22

在项目文件中,链接器选项设置为一个,ItemGroup因此您不能简单地从命令行添加或覆盖它.相反,你必须让msbuild包含它们,这只能通过导入另一个msbuild文件来完成.支持此功能:如果ForceImportBeforeCppTargets在命令行上设置,msbuild将导入它指向的文件.

实际上:创建这个文件,我们称之为c:\ props\profile.props

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemDefinitionGroup>
    <Link>
      <Profile>true</Profile>
    </Link>
  </ItemDefinitionGroup>
</Project>

然后像这样构建你的(未修改的)项目:

msbuild myProject.vcxproj /p:ForceImportBeforeCppTargets=c:\props\profile.props