18

是否可以通过 msbuild 的命令行将选项传递给链接器?例如,我想设置 VC 链接器选项/PROFILE。如何在不更改 C++ 项目文件的情况下做到这一点?

PS:Visual Studio Express 2012。

4

1 回答 1

23

在项目文件中,链接器选项设置在一个中,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
于 2013-07-16T13:17:01.217 回答