Wewnątrz projectfile opcje łącznikowe są ustawione w ItemGroup
, więc nie można po prostu dodać lub zastąpić ten z linii poleceń. Zamiast tego będziesz musiał dodać do nich msbuild, który można zrobić tylko poprzez zaimportowanie innego pliku msbuild. Ta funkcja jest obsługiwana: jeśli ustawisz ForceImportBeforeCppTargets
w linii poleceń, msbuild zaimportuje plik, do którego wskazuje.
Praktycznie: tworzenie tego pliku, nazwijmy to c: \ rekwizytów \ 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>
Następnie zbudować (bez modyfikacji) projekt takiego:
msbuild myProject.vcxproj /p:ForceImportBeforeCppTargets=c:\props\profile.props
Możliwa duplikat [ Jak ustawić PreProcessorDefinitions jako zadanie przeznaczone do zadania msbuild] (http://stackoverflow.com/questions/15141429/how-to-set-preprocessordefinitions-as-a-task-propery-for-the-msbuild-task) – stijn