MSBuild dalla riga di comando - C++
In generale, è consigliabile usare Visual Studio per impostare le proprietà del progetto e richiamare il sistema MSBuild. Tuttavia, è possibile usare lo strumento MSBuild direttamente dal prompt dei comandi. Il processo di compilazione è controllato dalle informazioni contenute in un file di progetto (.vcxproj) che è possibile creare e modificare. Il file di progetto specifica le opzioni di compilazione in base a fasi di compilazione, condizioni ed eventi. Inoltre, è possibile specificare zero o più argomenti delle opzioni della riga di comando.
msbuild.exe [ project_file ] [ opzioni ]
Usare le opzioni della riga di comando /target (o /t) e /property (o /p) per eseguire l'override di proprietà e destinazioni specifiche specificate nel file di progetto.
Una funzione essenziale del file di progetto consiste nel specificare una destinazione, ovvero una particolare operazione applicata al progetto e gli input e gli output necessari per eseguire tale operazione. Un file di progetto può specificare una o più destinazioni, che possono includere una destinazione predefinita.
Ogni destinazione è costituita da una sequenza di una o più attività. Ogni attività è rappresentata da una classe .NET Framework che contiene un comando eseguibile. Ad esempio, l'attività CL contiene il comando cl.exe.
Un parametro di attività è una proprietà dell'attività di classe e rappresenta in genere un'opzione della riga di comando del comando eseguibile. Ad esempio, il FavorSizeOrSpeed
parametro dell'attività CL
corrisponde alle opzioni del compilatore /Os e /Ot .
I parametri di attività aggiuntivi supportano l'infrastruttura MSBuild. Ad esempio, il parametro dell'attività Sources
specifica un set di attività che possono essere utilizzate da altre attività. Per altre informazioni sulle attività di MSBuild, vedere Informazioni di riferimento sulle attività.
La maggior parte delle attività richiede input e output, ad esempio nomi di file, percorsi e stringhe, parametri numerici o booleani. Ad esempio, un input comune è il nome di un file di origine .cpp da compilare. Un parametro di input importante è una stringa che specifica la configurazione e la piattaforma di compilazione, ad esempio "Debug|Win32". Gli input e gli output vengono specificati da uno o più elementi XML Item
definiti dall'utente contenuti in un ItemGroup
elemento .
Un file di progetto può anche specificare proprietà ed ItemDefinitionGroup
elementi definiti dall'utente. Le proprietà e gli elementi formano coppie nome/valore che possono essere usate come variabili nella compilazione. Il componente name di una coppia definisce una macro e il componente valore dichiara il valore della macro. È possibile accedere a una macro di proprietà utilizzando la notazione $(name) e si accede a una macro di elementi utilizzando la notazione %(name).
Altri elementi XML in un file di progetto possono testare le macro e quindi impostare in modo condizionale il valore di qualsiasi macro o controllare l'esecuzione della compilazione. I nomi delle macro e le stringhe letterali possono essere concatenati per generare costrutti, ad esempio un percorso e un nome di file. Nella riga di comando l'opzione /property imposta o esegue l'override di una proprietà del progetto. Non è possibile fare riferimento agli elementi nella riga di comando.
Il sistema MSBuild può eseguire in modo condizionale una destinazione prima o dopo un'altra destinazione. Inoltre, il sistema può compilare una destinazione in base al fatto che i file utilizzati dalla destinazione siano più recenti dei file generati.
Per altre informazioni su MSBuild, vedere:
Informazioni di riferimento su MSBuild sul sistema MSBuild.
Riferimenti allo schema del file di progetto Elenca gli elementi di XML Schema MSBuild, insieme ai relativi attributi e agli elementi padre e figlio. Si notino in particolare gli elementi ItemGroup, PropertyGroup, Target e Task .
Informazioni di riferimento sulla riga di comando Descrive gli argomenti e le opzioni della riga di comando che è possibile usare con msbuild.exe.
Informazioni di riferimento sulle attività Descrive le attività di MSBuild. Si notino in particolare queste attività, specifiche di Visual C++: Attività BscMake, attività CL, attività CPPClean, attività LIB, attività collegamento, attività MIDL, attività MT, attività RC, attività SetEnv, attività VCMessage
In questa sezione
Termine | Definizione |
---|---|
Procedura dettagliata: Uso di MSBuild per creare un progetto C++ | Illustra come creare un progetto di Visual Studio C++ usando MSBuild. |
Procedura: Uso di eventi di compilazione in progetti MSBuild | Illustra come specificare un'azione che si verifica in una fase particuler della compilazione: prima dell'avvio della compilazione; prima dell'inizio del passaggio di collegamento; o al termine della compilazione. |
Procedura: Aggiungere un'istruzione di compilazione personalizzata a progetti MSBuild | Illustra come aggiungere una fase definita dall'utente alla sequenza di compilazione. |
Procedura: Aggiungere uno strumento di compilazione personalizzato a progetti MSBuild | Illustra come associare uno strumento di compilazione a un determinato file. |
Procedura: Integrare strumenti personalizzati nelle proprietà del progetto | Illustra come aggiungere opzioni per uno strumento personalizzato alle proprietà del progetto. |
Procedura: Modificare il framework di destinazione e il set di strumenti della piattaforma | Illustra come compilare un progetto per più framework o set di strumenti. |