Eigenschaftenseite „Allgemein“ (Projekt)
Dieser Artikel bezieht sich auf Visual Studio-Projekte für Windows. Informationen zu Linux-Projekten finden Sie auf der Referenz zur Linux-C++-Eigenschaftenseite. CMake-Projekte finden Sie unter CMake-Projekte in Visual Studio. Informationen zu Android-Projekten finden Sie unter "Allgemeine Projekteigenschaften" (Android C++). Informationen zu Android Makefile-Projekten finden Sie unter "Allgemeine Projekteigenschaften" (Android C++ Makefile).For Android Makefile projects, see General project properties (Android C++ Makefile). In Visual Studio 2019 wurden einige Eigenschaften für Nicht-UWP-Projekte (Windows-Runtime oder Universelle Windows-Plattform) auf die Seite "Erweiterte Eigenschaft" verschoben.
Um das Dialogfeld "Eigenschaftenseiten" für ein Projekt zu öffnen, wählen Sie das Projekt (nicht die Projektmappe) in Projektmappen-Explorer aus. Wählen Sie als Nächstes das >Projektprojektnamen-Eigenschaftenmenü in der Menüleiste aus. Oder klicken Sie mit der rechten Maustaste auf den Projektknoten in Projektmappen-Explorer, und wählen Sie im Kontextmenü "Eigenschaften" aus.
Im Dialogfeld "Eigenschaftenseiten" zeigt die Eigenschaftenseite "Konfigurationseigenschaften>" Projekteigenschaften basierend auf dem Projekttyp an. Diese Eigenschaften werden je nach Projekttyp unter einer oder zwei Überschriften gesammelt:
Allgemein
Projektstandards
Allgemein
Die Überschrift "Allgemeine Eigenschaft" enthält eine Kombination dieser Eigenschaften:
Zielplattform
Gibt die Plattform an, auf der das Projekt ausgeführt wird. Beispielsweise Windows, Android oder iOS. Der Wert Windows 10 bedeutet, dass das Projekt für die Universelle Windows-Plattform vorgesehen ist. Wenn Sie auf andere Versionen von Windows abzielen, wird die Version nicht aufgeführt, und der Wert in diesem Feld wird genauso wie Windows angezeigt. Diese Eigenschaft ist ein schreibgeschütztes Feld, das beim Erstellen eines Projekts festgelegt ist.
Version der Zielplattform
Gibt die Version des Windows SDK an, das zum Erstellen des Projekts verwendet wird. Diese Eigenschaft wird nur angezeigt, wenn der Projekttyp sie unterstützt. Sie können 10.0 auswählen, um die neueste Version des Windows SDK anzugeben. Wenn Ihre App Features in dieser Windows SDK-Version nutzen kann, aber weiterhin auf früheren Versionen ohne diese Features ausgeführt werden kann, z. B. mit einem Verlust der Funktionalität, kann der Wert dieser Eigenschaft und der Eigenschaft "Target Platform Min. Version " unterschiedlich sein. Wenn ja, sollte Ihr Code die Version der Plattform überprüfen, für die er zur Laufzeit ausgeführt wird, und Features deaktivieren, die in älteren Plattformversionen nicht verfügbar sind.
Zielplattform Min. Version
Gibt die niedrigste Version der Plattform an, auf der das Projekt ausgeführt werden kann. Diese Eigenschaft wird nur angezeigt, wenn der Projekttyp sie unterstützt. Legen Sie diesen Wert fest, wenn Ihre App Features in einer neueren Windows SDK-Version nutzen kann, aber weiterhin in früheren Versionen ausgeführt wird, möglicherweise mit einem Verlust der Funktionalität. Wenn sie auf einen niedrigeren Wert festgelegt ist, sollte Ihr Code die Version der Plattform überprüfen, für die er zur Laufzeit ausgeführt wird. Deaktivieren Sie dann Features, die in älteren Plattformversionen nicht verfügbar sind.
Das C++-Projektsystem erzwingt diese Option nicht. Sie ist für die Konsistenz mit anderen Sprachen, z. B. C# und JavaScript, und als Leitfaden für alle Benutzer Ihres Projekts enthalten. Microsoft C++ generiert keinen Fehler, wenn Sie ein Feature verwenden, das in der Mindestversion nicht verfügbar ist.
Windows SDK Version
Für die Windows-Zielplattform gibt diese Eigenschaft die Version des Windows SDK an, das Ihr Projekt benötigt. Wenn die Visual Studio-Installer eine C++-Workload installiert, werden auch die erforderlichen Teile des Windows SDK installiert. Wenn Sie andere Windows SDK-Versionen auf Ihrem Computer haben, wird jede installierte Version in der Dropdownliste angezeigt.
Verwenden Sie den Wert 8.1, um Windows 7 oder Windows Vista als Zielplattform anzugeben, da Windows SDK 8.1 für diese Plattformen abwärtskompatibel ist. Wenn Sie auf eine frühere Version abzielen, definieren Sie den entsprechenden Wert für _WIN32_WINNT
in targetver.h
. Für Windows 7 ist dies "0x0601". Weitere Informationen finden Sie unter Ändern und Ändern WINVER
von _WIN32_WINNT
.
Sie können das In Visual Studio-Installer enthaltene Windows XP-Plattformtoolset als optionale Komponente installieren, um Windows XP- und Windows 2003 Server-Projekte zu erstellen. Informationen zum Abrufen und Verwenden dieses Plattformtoolsets finden Sie unter Konfigurieren von Programmen für Windows XP. Weitere Informationen zum Ändern des Plattformtoolsets finden Sie unter How to: Modify the target framework and platform toolset.
Ausgabeverzeichnis
Gibt das Verzeichnis an, in dem Buildtools wie der Linker alle endgültigen Ausgabedateien platzieren, die während des Buildvorgangs erstellt wurden. In der Regel enthält dieses Verzeichnis die Ausgabe von Tools wie Linker, Bibliothekar oder BSCMake. Diese Eigenschaft ist standardmäßig das verzeichnis, das durch die Makrokombination $(SolutionDir)$(Configuration)\
angegeben wird.
Informationen zum programmgesteuerten Zugriff auf diese Eigenschaft finden Sie unter OutputDirectory.
Zwischenverzeichnis
Gibt das Verzeichnis an, in dem Tools wie der Compiler alle zwischengeschalteten Dateien platzieren, die während des Buildvorgangs erstellt wurden. In der Regel enthält dieses Verzeichnis die Ausgabe von Tools wie dem C/C++-Compiler, MIDL und dem Ressourcencompiler. Standardmäßig ist diese Eigenschaft das durch das Makro $(Configuration)\
angegebene Verzeichnis.
Informationen zum programmgesteuerten Zugriff auf diese Eigenschaft finden Sie unter IntermediateDirectory.
Zielname
Gibt den von diesem Projekt generierten Dateinamen an. Standardmäßig ist diese Eigenschaft der durch das Makro $(ProjectName)
angegebene Dateiname.
Zielerweiterung
Gibt die Dateierweiterung an, die dieses Projekt generiert, z .exe
. B. oder .dll
. Für einige Visual Studio 2019-Projekttypen wurde diese Eigenschaft auf die Seite "Erweiterte Eigenschaft" verschoben.
Bei der Bereinigung zu löschende Erweiterungen
>Der Befehl "Neu erstellen" löscht Dateien aus dem Zwischenverzeichnis, in dem die Konfiguration eines Projekts erstellt wird. Das Buildsystem löscht Dateien, die über die angegebenen Erweiterungen verfügen, wenn Sie den Befehl "Bereinigen" ausführen oder wenn Sie neu erstellen. Das Buildsystem löscht auch alle bekannten Ausgaben des Builds, unabhängig davon, wo er sich befindet. Gelöschte Dateien enthalten alle Zwischenausgaben, z .obj
. B. Dateien. Verwenden Sie Semikolons (;
) zum Trennen von Erweiterungen. Sie können in den Erweiterungen Wildcardzeichen (*
, ?
) angeben.
Informationen zum programmgesteuerten Zugriff auf diese Eigenschaft finden Sie unter DeleteExtensionsOnClean. Für einige Visual Studio 2019-Projekttypen wurde diese Eigenschaft auf die Seite "Erweiterte Eigenschaft" verschoben.
Buildprotokolldatei
Ermöglicht es Ihnen, einen nicht standardmäßigen Speicherort für die Protokolldatei anzugeben, die immer dann erstellt wird, wenn Sie ein Projekt erstellen. Der Standardspeicherort wird durch die Makrokombination $(IntDir)$(MSBuildProjectName).log
angegeben. Für einige Visual Studio 2019-Projekttypen wurde diese Eigenschaft auf die Seite "Erweiterte Eigenschaft" verschoben.
Sie können Projektmakros verwenden, um den Verzeichnispfad zu ändern. Weitere Informationen finden Sie unter "Allgemeine Makros" für Buildbefehle und -eigenschaften.
Plattformtoolset
Diese Eigenschaft gibt das Toolset an, das beim Erstellen der aktuellen Konfiguration verwendet wird. Mit dieser Eigenschaft kann das Projekt auf eine andere Version der Visual C++-Bibliotheken und des Compilers abzielen. Standardmäßig zielen Visual Studio C++-Projekte auf das neueste toolset ab, das von Visual Studio installiert wurde. Sie können stattdessen eine der Toolsets auswählen, die von mehreren früheren Versionen von Visual Studio installiert wurden. Einige ältere Toolsets können ausführbare Dateien erstellen, die unter Windows XP oder Vista ausgeführt werden. Weitere Informationen zum Ändern des Plattformtoolsets finden Sie unter How to: Modify the target framework and platform toolset.
Verwalteten inkrementellen Build aktivieren
Bei verwalteten Projekten ermöglicht diese Eigenschaft die Erkennung externer Sichtbarkeit, wenn Sie Assemblys generieren. Wenn eine Änderung an einem verwalteten Projekt für andere Projekte nicht sichtbar ist, werden abhängige Projekte nicht neu erstellt. Diese Option kann die Erstellungszeiten in Lösungen, die verwaltete Projekte enthalten, erheblich verbessern. In Visual Studio 2019-Projekten wurde diese Eigenschaft auf die Seite "Erweiterte Eigenschaft" verschoben.
Konfigurationstyp
Gibt die Projektausgabe und die erforderlichen Tools an. In UWP-Projekten wird diese Eigenschaft unter der Projektstandardüberschrift angezeigt. Je nach Projekttyp gibt es mehrere Konfigurationstypen, aus denen Sie wählen können:
Anwendung (EXE-Datei)
Zeigt das Linker-Toolset an: C/C++-Compiler, MIDL, Resource Compiler, Linker, BSCMake, XML Web Service Proxy Generator, custom build, prebuild, prelink, and postbuild events.
Dynamische Bibliothek (.dll)
Zeigt das Linkertoolset an, gibt die /DLL
Linkeroption an und fügt der CL-Befehlszeile die _WINDLL
Präprozessordefinition hinzu.
Makefile
Zeigt das Makefile-Toolset (NMake) an.
Statische Bibliothek (LIB-Datei)
Zeigt das Bibliothekartoolset an. Es ist identisch mit dem Linker-Toolset, mit der Ausnahme, dass er den Linker durch den Bibliothekar ersetzt und den XML-Webdienstproxy-Generator ausgelassen.
Hilfsprogramm
Zeigt das Hilfsprogramm-Toolset (MIDL, benutzerdefiniertes Build-, Prebuild- und Postbuild-Ereignis) an.
Informationen zum programmgesteuerten Zugriff auf diese Eigenschaft finden Sie unter ConfigurationType.
C++-Sprachstandard
Gibt an, welcher C++-Sprachstandard verwendet werden soll. Der Standardwert ist /std:c++14
. Geben Sie /std:c++17
an, C++17-Features zu verwenden, /std:c++20
C++20-Features zu verwenden und /std:c++latest
vorgeschlagene C++23-Features oder andere experimentelle Features zu verwenden. Weitere Informationen finden Sie unter /std
(Angeben der Sprachstandardversion).
C-Sprachstandard
Gibt an, welcher C-Sprachstandard verwendet werden soll. Die Standardeinstellung ist Legacy MSVC, das C89, einige von C99 und microsoftspezifische Erweiterungen implementiert. Geben Sie /std:c11
an, dass C11-Features verwendet werden sollen, und /std:c17
verwenden Sie C17-Features. Weitere Informationen finden Sie unter /std
(Angeben der Sprachstandardversion)
Projektstandards
Konfigurationstyp
Gibt die Projektausgabe und die erforderlichen Tools an. In UWP-Projekten wird diese Eigenschaft unter der Projektstandardüberschrift angezeigt. Je nach Projekttyp gibt es mehrere Konfigurationstypen, aus denen Sie wählen können:
Anwendung (EXE-Datei)
Zeigt das Linker-Toolset an: C/C++-Compiler, MIDL, Resource Compiler, Linker, BSCMake, XML Web Service Proxy Generator, custom build, prebuild, prelink, and postbuild events.
Dynamische Bibliothek (.dll)
Zeigt das Linkertoolset an, gibt die /DLL
Linkeroption an und fügt der CL-Befehlszeile die _WINDLL
Präprozessordefinition hinzu.
Makefile
Zeigt das Makefile-Toolset (NMake) an.
Statische Bibliothek (LIB-Datei)
Zeigt das Bibliothekartoolset an. Es ist identisch mit dem Linker-Toolset, mit der Ausnahme, dass er den Linker durch den Bibliothekar ersetzt und den XML-Webdienstproxy-Generator ausgelassen.
Hilfsprogramm
Zeigt das Hilfsprogramm-Toolset (MIDL, benutzerdefiniertes Build-, Prebuild- und Postbuild-Ereignis) an.
Informationen zum programmgesteuerten Zugriff auf diese Eigenschaft finden Sie unter ConfigurationType.
Verwendung von MFC
Gibt an, ob das MFC-Projekt statisch oder dynamisch mit der MFC-DLL verknüpft ist. Nicht-MFC-Projekte wählen " Standard-Windows-Bibliotheken verwenden" aus. In Visual Studio 2019-Projekten wurde diese Eigenschaft auf die Seite "Erweiterte Eigenschaft" verschoben.
Informationen zum programmgesteuerten Zugriff auf diese Eigenschaft finden Sie unter useOfMfc.
Zeichensatz
Gibt an, ob das _UNICODE
Makro oder _MBCS
das Präprozessormakro festgelegt werden soll. Wirkt sich ggf. auch auf den Linkereinstiegspunkt aus. In Visual Studio 2019-Projekten wurde diese Eigenschaft auf die Seite "Erweiterte Eigenschaft" verschoben.
Informationen zum programmgesteuerten Zugriff auf diese Eigenschaft finden Sie unter CharacterSet.
Common Language Runtime-Unterstützung
Bewirkt, dass die /clr
Compileroption verwendet wird. In Visual Studio 2019-Projekten wurde diese Eigenschaft auf die Seite "Erweiterte Eigenschaft" verschoben.
Informationen zum programmgesteuerten Zugriff auf diese Eigenschaft finden Sie unter ManagedExtensions.
.NET Framework-Zielversion
Gibt in verwalteten Projekten die Zielversion von .NET-Framework an. In Visual Studio 2019-Projekten wurde diese Eigenschaft auf die Seite "Erweiterte Eigenschaft" verschoben.
Optimierung des ganzen Programms
Gibt die /GL
Compileroption und /LTCG
die Linkeroption an. Diese Eigenschaft ist standardmäßig für Debugkonfigurationen deaktiviert und für Releasekonfigurationen aktiviert. In Visual Studio 2019-Projekten wurde diese Eigenschaft auf die Seite "Erweiterte Eigenschaft" verschoben.
Unterstützung für Windows Store-Apps
Gibt an, ob dieses Projekt Windows-Runtime -Apps (Universelle Windows-Plattform oder UWP) unterstützt. Weitere Informationen finden Sie unter /ZW
(Windows-Runtime Kompilierung) und in der Windows Developer UWP-Dokumentation.
Windows-Desktopkompatibel
Ermöglicht die Ausgabe dieses Windows-Runtime Projekts, auch Desktop-Apps zu unterstützen. Diese Eigenschaft legt den <DesktopCompatible>
Wert in der Projektdatei fest. Die Windows Desktop Compatible-Eigenschaft ist ab Visual Studio 2019, Version 16.9, verfügbar.