Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In der Visual Studio-IDE können Sie die zum Kompilieren und Erstellen eines Projekts erforderlichen Eigenschaften anzeigen und bearbeiten. Diese Informationen umfassen den Anwendungsnamen, die Erweiterung (z. B. DLL, LIB, EXE), Compileroptionen, Linkeroptionen, Debuggereinstellungen und benutzerdefinierte Buildschritte.
Sie können diese Eigenschaften mithilfe von Eigenschaftenseiten anzeigen und ändern. Um auf die Eigenschaftenseiten zuzugreifen, wählen Sie im Hauptmenü Project aus, und wählen Sie dann "Eigenschaften" aus. Oder klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten, und wählen Sie "Eigenschaften" aus.
Standardeigenschaften
Wenn Sie ein Projekt erstellen, weist das System verschiedenen Eigenschaften Werte zu. Die Standardwerte variieren in Abhängigkeit von der Art des Projekts und den Optionen, die Sie im App-Assistenten auswählen. Beispielsweise verfügt ein ATL-Projekt (Active Template Library) über Eigenschaften im Zusammenhang mit MIDL-Dateien (Microsoft Interface Definition Language), diese Eigenschaften sind jedoch in einer einfachen Konsolenanwendung nicht vorhanden. Im Fenster Eigenschaftenseiten werden im Bereich Erweitert die Standardeigenschaften angezeigt:
Eigenschaften auf Buildkonfigurationen und Zielplattformen anwenden
Einige Eigenschaften (z. B. der Anwendungsname) gelten für alle Buildvarianten und Zielplattformen, egal ob es sich um einen Debug- oder um einen Releasebuild handelt. Die meisten Eigenschaften hängen jedoch von Konfigurationen ab. Um den richtigen Code zu generieren, muss der Compiler sowohl die spezifische Plattform kennen, auf der das Programm ausgeführt wird, als auch welche spezifischen Compileroptionen verwendet werden sollen. Achten Sie also beim Festlegen einer Eigenschaft darauf, auf welche Konfiguration und Plattform der neue Wert angewendet werden soll. Soll sie nur für Win32-Debugbuilds oder ebenfalls für ARM64- und x64-Debugbuilds gelten? Die Eigenschaft Optimierung ist in einer Releasekonfiguration beispielsweise standardmäßig auf Geschwindigkeit maximieren (/O2) festgelegt. In einer Debugkonfiguration ist sie jedoch deaktiviert.
Sie können die Konfiguration und die Plattform, für die ein Eigenschaftswert gelten soll, jederzeit einsehen und ändern. Die folgende Abbildung zeigt die Eigenschaftsseiten mit den Steuerelementen für die Konfigurations- und Plattforminformationen im oberen Bereich. Wenn Sie die Optimierungseigenschaft hier festlegen, gilt sie nur für Debug x64-Builds, die derzeit aktive Konfiguration, wie in den roten Pfeilen dargestellt.
Die Seite ist für C/C++, Optimierung offen. Die Einstellung „Optimierung“ ist auf „Deaktiviert“ (/Od) festgelegt, was auch angezeigt wird. Ein Pfeil weist auf die Beziehung zwischen der Einstellung Konfiguration auf der Projekteigenschaftsseite, die auf „Aktiv(Debug)“ eingestellt ist, und der Einstellung in der Dropdownliste Konfiguration der Projektmappe in der Symbolleiste, die auf „Debug“ eingestellt ist, hin. Ein weiterer Pfeil ruft die Beziehung zwischen der Plattformeinstellung auf der Projekteigenschaftsseite auf, die auf "Active(x64) festgelegt ist" und der Einstellung in der Dropdownliste "Lösungen" auf der Symbolleiste, die auf "x64" festgelegt ist.
Die folgende Abbildung zeigt die gleiche Projekteigenschaftsseite, die Konfiguration wird jedoch in "Release" geändert. Beachten Sie den geänderten Wert der Eigenschaft „Optimierung“. Beachten Sie außerdem, dass die aktive Konfiguration immer noch „Debug“ ist. Sie können hier Eigenschaften für jede Konfiguration festlegen. Diese müssen nicht der aktiven Konfiguration entsprechen.
Zielplattformen
Zielplattform bezieht sich auf die Art von Gerät und Betriebssystem, auf dem die ausführbare Datei ausgeführt wird. Sie können ein Projekt für mehr als eine Plattform erstellen. Die verfügbaren Zielplattformen für C++-Projekte hängen von der Art des Projekts ab. Dazu gehören unter anderem Win32, x64, ARM, ARM64, Android und iOS. Die x86-Zielplattform, die in Microsoft Configuration Manager möglicherweise angezeigt wird, ist mit Win32 in nativen C++-Projekten identisch. Win32 bedeutet 32-Bit-Windows, und x64 bedeutet 64-Bit-Windows. Weitere Informationen zu diesen beiden Plattformen finden Sie unter Ausführung von 32-Bit-Anwendungen.
Der Wert Jede CPU für die Zielplattform, den Sie möglicherweise im Konfigurationsmanager sehen, hat keine Auswirkungen auf native C++-Projekte. Er ist nur für C++/CLI und andere .NET-Projekttypen relevant. Weitere Informationen finden Sie unter /CLRIMAGETYPE (Angeben des Typs des CLR-Images).
Weitere Informationen zum Festlegen von Eigenschaften für einen Debugbuild finden Sie unter:
- Projekteinstellungen für eine C++-Debugkonfiguration
- Debuggereinstellungen und -vorbereitung
- Debuggingvorbereitung: Microsoft C++-Projekttypen
- Angeben von Symboldateien (PDB) und Quelldateien im Visual Studio-Debugger
Optionen für C++-Compiler und Linker
Die Optionen für C++-Compiler und Linker sind unter den Knoten C/C++ und Linker im linken Bereich unter Konfigurationseigenschaften zu finden. Diese Optionen werden direkt in Befehlszeilenoptionen übersetzt, die der Compiler empfängt. Wenn Sie die Dokumentation für eine bestimmte Option lesen möchten, klicken Sie im mittleren Bereich auf die Option, und drücken Sie F1. Alternativ können Sie die Dokumentation für alle Optionen unter MSVC-Compileroptionen und MSVC-Linkeroptionen durchsuchen.
Im Dialogfeld Eigenschaftenseiten werden nur die Eigenschaftenseiten angezeigt, die für das aktuelle Projekt relevant sind. Wenn das Projekt beispielsweise keine .idl-Datei enthält, wird die MIDL-Eigenschaftenseite nicht angezeigt. Weitere Informationen zu den Einstellungen auf jeder Eigenschaftenseite finden Sie unter Eigenschaftenseiten (C++).
Verzeichnis- und Pfadwerte
MSBuild unterstützt die Verwendung von Kompilierzeitkonstanten (Makros genannt) für bestimmte Zeichenfolgenwerte, die Verzeichnisse und Pfade enthalten. Ein Makro kann auf einen Wert verweisen, der von Visual Studio oder dem MSBuild-System oder einem benutzerdefinierten Wert definiert wird. Makros sehen so aus: $(macro-name) oder %(item-macro-name). Die Eigenschaftenseiten machen diese Makros verfügbar, auf die Sie mithilfe des Eigenschaften-Editors verweisen und ändern können. Verwenden Sie Makros anstelle hartcodierter Werte wie Verzeichnispfade. Makros erleichtern das Freigeben von Eigenschafteneinstellungen zwischen Computern und zwischen Versionen von Visual Studio. Sie können auch besser sicherstellen, dass Ihre Projekteinstellungen ordnungsgemäß an der Eigenschaftenvererbung teilnehmen.
Die folgende Abbildung zeigt die Eigenschaftenseiten für ein Visual Studio-C++-Projekt. Im linken Bereich ist die RegelVC++-Verzeichnisse ausgewählt, und im rechten Bereich sind die Eigenschaften aufgeführt, die dieser Regel zugeordnet sind. Die Eigenschaftswerte sind häufig Makros, z. B.$(VC_SourcePath):
Die Seite "VC++-Verzeichnisse" ist geöffnet, die Eigenschaften für die VC++-Verzeichnisse-Regeln enthält. Eine Beispielregel ist Quellverzeichnisse, die auf "$(VC_SourcePath)" festgelegt sind. Es gibt Regeln für die Include-Verzeichnisse, Bibliotheksverzeichnisse, ausführbare Verzeichnisse usw.
Verwenden Sie den Eigenschaften-Editor , um die Werte aller verfügbaren Makros anzuzeigen.
Vordefinierte Makros
Globale Makros
Globale Makros gelten für alle Elemente in einer Projektkonfiguration. Ein globales Makro weist die Syntax$(name)auf. Ein Beispiel eines globalen Makros ist$(VCInstallDir), das das Stammverzeichnis der Visual Studio-Installation speichert. Ein globales Makro entspricht einerPropertyGroupin MSBuild.Elementmakros
Elementmakros weisen die Syntax%(name)auf. Bei einer Datei gilt ein Elementmakro nur für diese Datei. Sie können z. B.%(AdditionalIncludeDirectories)verwenden, um Include-Verzeichnisse anzugeben, die nur für eine bestimmte Datei gelten. Diese Art des Elementmakros entspricht denItemGroup-Metadaten in MSBuild. Wenn ein Elementmakro im Zusammenhang mit einer Projektkonfiguration verwendet wird, gilt es für alle Dateien eines bestimmten Typs. Beispielsweise kann die C/C++-Konfigurationseigenschaft Präprozessordefinitionen ein%(PreprocessorDefinitions)-Elementmakro verwenden, das für alle CPP-Dateien im Projekt gilt. Diese Art des Elementmakros entspricht denItemDefinitionGroup-Metadaten in MSBuild. Weitere Informationen finden Sie unter Elementdefinitionen.
Benutzerdefinierte Makros
Erstellen Sie benutzerdefinierte Makros , die als Variablen in Projektbuilds verwendet werden sollen. Sie können z. B. ein benutzerdefiniertes Makro erstellen, das einen Wert für einen benutzerdefinierten Buildschritt oder ein benutzerdefiniertes Buildtool bereitstellt. Ein benutzerdefiniertes Makro ist ein Name-Wert-Paar. Verwenden Sie die $(name)-Notation in einer Projektdatei, um auf den Wert zuzugreifen.
Ein benutzerdefiniertes Makro wird in einem Eigenschaftenblatt gespeichert. Wenn Ihr Projekt noch kein Eigenschaftenblatt enthält, können Sie eines erstellen, indem Sie die Schritte unter Freigeben oder Wiederverwenden von Visual Studio-Projekteinstellungen befolgen.
So erstellen Sie ein benutzerdefiniertes Makro
Öffnen Sie das Eigenschaften-Manager-Fenster. Wählen Sie auf der Menüleiste "Ansicht>Eigenschafts-Manager" aus. Öffnen Sie das Kontextmenü für ein Eigenschaftenblatt (der Name endet in
.user) und wählen Sie dann "Eigenschaften" aus. Das Dialogfeld Eigenschaftenseiten für dieses Eigenschaftenblatt wird geöffnet.Klicken Sie im linken Bereich des Dialogfelds auf Benutzermakros. Klicken Sie im rechten Bereich auf die Schaltfläche Makro hinzufügen, um das Dialogfeld Benutzermakro hinzufügen zu öffnen.
Geben Sie im Dialogfeld einen Namen und einen Wert für das Makro an. Optionalerweise können Sie das Kontrollkästchen dieses Makro als Umgebungsvariable in der Build-Umgebung festlegen aktivieren.
Eigenschaften-Editor
Verwenden Sie den Eigenschaften-Editor, um bestimmte Zeichenfolgeneigenschaften zu ändern und Makros als Werte auszuwählen. Um auf den Eigenschaften-Editor zuzugreifen, wählen Sie eine Eigenschaft auf einer Eigenschaftenseite aus, und klicken Sie rechts auf die Schaltfläche mit dem Pfeil nach unten. Wenn die Dropdownliste "Bearbeiten"< enthält>, können Sie sie auswählen, um den Eigenschaften-Editor für diese Eigenschaft anzuzeigen.
Der Eigenschaften-Editor für die Einstellung „Verzeichnisse einschließen“ ist geöffnet. Er zeigt den ausgewerteten Wert für die Include-Verzeichnisse an, d. h. „C:\Programme(x86)\Microsoft Visual Studio 14.0\VC\Include“. Es werden die beiden geerbten Werte angezeigt: $(VC_IncludePath) und $(WindowsSDK_IncludePath). Ein Kontrollkästchen für „Vom übergeordneten oder Projektstandard erben“ ist aktiviert.
Wählen Sie im Eigenschaften-Editor die Schaltfläche "Makros " aus, um die verfügbaren Makros und deren aktuelle Werte anzuzeigen. Die folgende Abbildung zeigt den Eigenschaftseditor für die Eigenschaft Zusätzliche Include-Verzeichnisse, nachdem auf die Schaltfläche Makros geklickt wurde. Wenn das Kontrollkästchen Von übergeordneten Elementen oder Projektstandards erben aktiviert ist und Sie einen neuen Wert hinzufügen, wird dieser zu allen Werten hinzugefügt, die derzeit übernommen werden. Wenn Sie das Kontrollkästchen deaktivieren, ersetzt der neue Wert die vererbten Werte. In den meisten Fällen bleibt das Kontrollkästchen aktiviert.
Der Eigenschaften-Editor für Include-Verzeichnisse ist geöffnet. Der ausgewertete Wert wird zusammen mit den geerbten Werten angezeigt. Ein Listenfeld enthält verschiedene Makros und deren Werte, z. B. $(CharacterSet), das auf Unicode festgelegt ist.
Hinzufügen eines Includeverzeichnisses zu den Standardverzeichnissen
Wenn Sie einem Projekt ein Includeverzeichnis hinzufügen, überschreiben Sie nicht alle Standardverzeichnisse. Fügen Sie den neuen Pfad, z. B. C:\MyNewIncludeDir\, an und hängen Sie dann das Makro $(IncludePath) an den Eigenschaftswert an.
Schnelles Suchen und Durchsuchen aller Eigenschaften
Die Eigenschaftenseite Alle Optionen (unter dem Knoten Konfigurationseigenschaften>C/C++ im linken Bereich des Dialogfelds Eigenschaftenseiten) bietet eine schnelle Möglichkeit, die Eigenschaften zu durchsuchen, die im aktuellen Kontext verfügbar sind, und nach ihnen zu suchen. Über ein spezielles Suchfeld und eine einfache Syntax können Sie Ergebnisse filtern:
Kein Präfix: Suche nur in den Eigenschaftennamen (untergeordnete Zeichenfolge ohne Berücksichtigung der Groß-/Kleinschreibung).
„
/“ oder „-“: Suche nur in den Compilerschaltern (Präfix ohne Berücksichtigung der Groß-/Kleinschreibung).v: Suche nur in Werten (untergeordnete Zeichenfolge ohne Berücksichtigung der Groß-/Kleinschreibung).
Festlegen von Umgebungsvariablen für einen Build
Der MSVC-Compiler (cl.exe) erkennt bestimmte Umgebungsvariablen, insbesondere LIB, LIBPATH, PATH, und INCLUDE. Wenn Sie mit der IDE erstellen, legen die Eigenschaften, die Sie in der VC++-Eigenschaftenseite für Verzeichnisse festgelegt haben, diese Umgebungsvariablen fest. Wenn LIB, LIBPATHund INCLUDE Werte bereits festgelegt sind, z. B. durch eine Entwickler-Eingabeaufforderung, ersetzt der Buildprozess sie durch die Werte der entsprechenden MSBuild-Eigenschaften. Der Buildprozess stellt den Wert der eigenschaft ausführbare Verzeichnisse PATHvon VC++-Verzeichnissen vor. Sie können eine benutzerdefinierte Umgebungsvariable festlegen, indem Sie ein benutzerdefiniertes Makro erstellen und dann das Kontrollkästchen Makro als Umgebungsvariable in Buildumgebung festlegen aktivieren.
Festlegen von Umgebungsvariablen für eine Debugsitzung
Erweitern Sie im linken Bereich des Dialogfelds Eigenschaftenseiten die Konfigurationseigenschaften des Projekts, und klicken Sie auf Debugging.
Ändern Sie im rechten Bereich die Projekteinstellungen Umgebung oder Mergeumgebung, und klicken Sie dann auf die Schaltfläche OK.
Artikel in diesem Abschnitt
- Freigeben oder Wiederverwenden von Visual Studio-Projekteinstellungen
- Eigenschaftsvererbung in Visual Studio-Projekten
- Ändern von C++-Projekteigenschaften und -zielen, ohne die Projektdatei zu ändern