2013-07-16 8 views
16

È possibile passare opzioni al linker tramite la riga di comando di msbuild? Ad esempio, desidero impostare l'opzione VC linker /PROFILE. Come si fa senza modificare il file di progetto C++?Come passare le opzioni del linker in msbuild tramite la riga di comando?

PS: Visual Studio 2012. espresso

+0

Eventuali duplicati di [ Come impostare PreProcessorDefinitions come attività appropriata per l'attività msbuild] (http://stackoverflow.com/questions/15141429/how-to-set-preprocessordefinitions-as-a-task-propery-for-the-msbuild-task) – stijn

risposta

20

All'interno del Projectfile le opzioni del linker sono fissati in un ItemGroup quindi non si può semplicemente aggiungere o sostituire questa da linea di comando. Invece dovrai renderli comprensivi di msbuild che possono essere fatti solo importando un altro file msbuild. Questa funzionalità è supportata: se si imposta ForceImportBeforeCppTargets sulla riga di comando, msbuild importerà il file a cui punta.

In pratica: creare questo file, chiamiamolo c: \ puntelli \ 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> 

quindi creare il Progetto (non modificato) in questo modo:

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

Questo è davvero di aiuto. Grazie! – ArtDen

+0

Si prega di vedere [circa] (http://stackoverflow.com/about) - se questo ha risposto alla tua domanda, dovresti contrassegnarlo come tale in modo che sia chiaro ai futuri visitatori che la soluzione proposta funziona – stijn

+0

Lo so, ma la mia reputazione è minore di 15 quindi non posso contrassegnare la tua risposta come utile. Scusate. – ArtDen

Problemi correlati