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

时间:2013-07-16 12:54:37

标签: msbuild

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

PS:Visual Studio Express 2012。

1 个答案:

答案 0 :(得分:21)

在项目文件中,链接器选项在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