Come posso rendere la build di Visual Studio molto dettagliata?


98

Devo recuperare ogni flag, ogni switch utilizzato nel processo di compilazione dai binari di Visual Studio. Ho provato a ottenere un output dettagliato utilizzando vcbuild, ma non ci sono riuscito.

Cosa devo fare per vedere tutto eseguito da Visual Studio per me? Non è necessario ottenere l'output nella finestra di compilazione. Ovunque andrebbe bene.


Risposte:


67
  1. Apri la finestra di dialogo delle proprietà del progetto, quindi scegli

    Proprietà di configurazioneC / C ++Generale

  2. Modificare l'impostazione per Suppress Startup BanneraNo

  3. La clriga di comando verrà visualizzata nella finestra di output.


1
Ciò influisce solo sul compilatore, non sul linker o sulle risorse.
user2284570

6
In VS2017 questo "trucco" sembra non funzionare più. Tuttavia, la compilazione nel prompt dello sviluppatore utilizzando msbuild con la soluzione o il nome del file del progetto come argomento cli mostra la chiamata cl con i suoi argomenti.
Emile Vrijdags

@EmileVrijdags posso vedere perfettamente l' cloutput del comando con VS2017 seguendo questi passaggi. Quindi il "trucco" funziona per me.
nipote

150

Menu StrumentiOpzioniProgetti e soluzioniCompila ed eseguiLivello di dettaglio dell'output di compilazione del progetto MSBuild : diagnostica


2
Questo non cambia nulla. Continuo a ricevere lo stesso output nella finestra di output.
Geo

3
Funziona bene per me in VC10.
abergmeier

2
@Geo ha effetto una volta riavviato Visual Studio.
assenzio

@absynce, In VS 2017 questo non ha effetto anche al riavvio di Visual Studi0 2017. Sto usando l'edizione community di VS 2017. Quindi, questa funzionalità non sembra implementata correttamente in VS 2017.
Sunil

65

Visual Studio 2008:

Vai al menu StrumentiOpzioni quindi Progetto e soluzioni → sezione Costruisci ed esegui . Hai una casella combinata per la verbosità.

Opzione del compilatore C ++ (proprietà del progetto):

  • Preprocessore - Genera file preelaborato per vedere l'unità di traduzione come generata dal preprocessore
  • Avanzate - Mostra include - mostra i nomi dei file inclusi nell'output del compilatore

1
Ciò non mostra i flag di compilazione e linker, solo i nomi di file che vengono elaborati. È possibile vedere i comandi esatti che vengono eseguiti o questo è impossibile con VS?
stefanB

2
@stefanB: non hai bisogno di flag speciali per questo. Le righe di comando per il compilatore e il richiamo del linker possono essere trovate nella finestra di dialogo delle opzioni o nel registro di compilazione scritto nella directory intermedia.
Yakov Galka

8

Se stai utilizzando MSBuild, puoi impostare il flag / v: diag.


Come dovrei eseguire MSBuild?
Geo

avvia il prompt dei comandi di Visual Studio (si trova nel menu Start), quindi esegui il progetto di Visual Studio con: MSBuild {ProjectName}
Joe

ad es. MsBuild myProject.csproj
Joe il

Vedo chiamate MSBuild vcbuild, ma vcbuild non mostra i flag / switch che sta utilizzando.
Geo

Questa è la risposta corretta credo. La semplice disattivazione della soppressione dei vari banner non produce ancora tutto. In particolare, il passaggio di compilazione delle risorse era quello che stavo cercando.
Giovanni

5

In Visual Studio vai al tuo progetto e fai clic destro su di esso e seleziona proprietà. In Linker c'è un'opzione della riga di comando. Lì hai tutte le opzioni e puoi aggiungere quelle personalizzate. Aggiungi /VERBOSEe quando colleghi Visual Studio mostrerà molte più informazioni.


1
Mostra più informazioni, ma non mostra gli strumenti chiamati per la compilazione.
Geo

2
Visual Studio ha uno strumento di creazione chiamato nmake. Puoi esportare il tuo progetto in quei makefile e crearlo da una console dos msdn.microsoft.com/en-us/library/txcwa2xx(VS.80).aspx . L'ultima volta che ho fatto qualcosa di simile (ma ho usato CMake per generare i makefile nmake) tutti i comandi sono stati stampati nel display della console.
javier-sanz
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.