Как передать параметры компоновщика в msbuild через командную строку?

Возможно ли передать параметры в компоновщик через comamnd строку msbuild? Например, я хочу установить опцию компоновщика VC /PROFILE. Как это сделать без изменения файла проекта С++?

PS: Visual Studio Express 2012.

Ответы

Ответ 1

Внутри файла проекта параметры компоновщика установлены в 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