Wie kann ich den Build von Visual Studio sehr ausführlich gestalten?

97

Ich muss jedes Flag, jeden Schalter, der im Erstellungsprozess von den Visual Studio-Binärdateien verwendet wird, in den Griff bekommen. Ich habe versucht, mithilfe von eine ausführliche Ausgabe zu erhalten vcbuild, konnte dies jedoch nicht.

Was muss ich tun, um alles zu sehen, was Visual Studio für mich ausführt? Es ist nicht erforderlich, die Ausgabe im Erstellungsfenster abzurufen. Überall wäre alles in Ordnung.

Geo
quelle
1
Genaues doppeltes stackoverflow.com/questions/823854/… .
JesperE

Antworten:

68
  1. Öffnen Sie das Dialogfeld Projekteigenschaften und wählen Sie

    KonfigurationseigenschaftenC / C ++Allgemein

  2. Ändern Sie die Einstellung für Suppress Startup BanneraufNo

  3. Die clBefehlszeile (n) werden im Ausgabefenster angezeigt.

Tim Dowty
quelle
1
Dies betrifft nur den Compiler, nicht den Linker oder die Ressourcen.
user2284570
6
In VS2017 scheint dieser Trick nicht mehr zu funktionieren. Wenn Sie jedoch die Entwickler-Eingabeaufforderung mit msbuild mit der Lösung oder dem Projektdateinamen als cli-Argument einbauen, wird der cl-Aufruf mit seinen Argumenten angezeigt.
Emile Vrijdags
@EmileVrijdags Ich kann die clBefehlsausgabe mit VS2017 nach diesen Schritten perfekt sehen . Der "Trick" funktioniert also bei mir.
Neffe vom
147

Menü ExtrasOptionenProjekte und LösungenErstellen und AusführenMSBuild Projekt Build - Ausgabe Ausführlichkeit : Diagnostic

Sam Harwell
quelle
2
Das ändert nichts. Ich erhalte immer noch die gleiche Ausgabe im Ausgabefenster.
Geo
3
Funktioniert gut für mich in VC10.
Abergmeier
2
@Geo wird wirksam, sobald Sie Visual Studio neu starten.
Abwesenheit
@absynce, In VS 2017 wird dies auch beim Neustart von Visual Studi0 2017 nicht wirksam. Ich verwende die Community Edition von VS 2017. Daher scheint diese Funktionalität in VS 2017 nicht richtig implementiert zu sein.
Sunil
64

Visual Studio 2008:

Gehen Sie zum Menü ExtrasOptionen und dann zu Projekt und LösungenErstellen und Ausführen . Sie haben ein Kombinationsfeld für Ausführlichkeit.

C ++ - Compileroption (Projekteigenschaften):

  • Präprozessor - Generieren Sie eine vorverarbeitete Datei, um die vom Präprozessor generierte Übersetzungseinheit anzuzeigen
  • Erweitert - Includes anzeigen - Zeigt eingeschlossene Dateinamen bei der Compilerausgabe an
Cătălin Pitiș
quelle
1
Hier werden keine Kompilierungs- und Linkerflags angezeigt, sondern nur Dateinamen, die verarbeitet werden. Ist es möglich, genaue Befehle zu sehen, die ausgeführt werden, oder ist dies mit VS nicht möglich?
stefanB
2
@stefanB: Dafür brauchst du keine speziellen Flags. Die Befehlszeilen für den Compiler- und Linker-Aufruf finden Sie im Optionsdialog oder im Build-Protokoll, das in das Zwischenverzeichnis geschrieben wird.
Yakov Galka
8

Wenn Sie MSBuild ausführen, können Sie das Flag / v: diag setzen.

Joe
quelle
Wie würde ich MSBuild ausführen?
Geo
Starten Sie die Visual Studio-Eingabeaufforderung (im Startmenü) und führen Sie dann das Visual Studio-Projekt aus mit: MSBuild {ProjectName}
Joe
zB MsBuild myProject.csproj
Joe
Ich sehe MSBuild-Aufrufe vcbuild, aber vcbuild zeigt nicht die Flags / Switches an, die es verwendet.
Geo
Dies ist die richtige Antwort, glaube ich. Das bloße Ausschalten der Unterdrückung verschiedener Banner gibt immer noch nicht alles aus. Insbesondere der Schritt zum Kompilieren von Ressourcen war das, wonach ich gesucht habe.
John
5

Gehen Sie in Visual Studio zu Ihrem Projekt, klicken Sie mit der rechten Maustaste darauf und wählen Sie Eigenschaften aus. In Linker gibt es eine Befehlszeilenoption. Dort haben Sie alle Optionen und können Ihre benutzerdefinierten hinzufügen. Hinzufügen /VERBOSEund beim Verknüpfen von Visual Studio werden viel mehr Informationen angezeigt.

javier-sanz
quelle
1
Es werden zwar mehr Informationen angezeigt, jedoch nicht die Tools, die zum Kompilieren aufgerufen werden.
Geo
2
Visual Studio verfügt über ein Make-Tool namens nmake. Sie können Ihr Projekt in diese Makefiles exportieren und von einer Dos-Konsole aus erstellen . Msdn.microsoft.com/en-us/library/txcwa2xx(VS.80).aspx . Als ich das letzte Mal etwas Ähnliches gemacht habe (aber ich habe CMake verwendet, um die nmake-Makefiles zu generieren), wurden alle Befehle in der Konsolenanzeige ausgedruckt.
Javier-Sanz