/Zc:wchar_t (wchar_t ist der systemeigene Typ)
Wenn diese Option angegeben wird, wird der Typ wchar_t zu einem systemeigenen Typ, der __wchar_t auf die gleiche Art zugeordnet ist wie short zu __int16 zugeordnet ist. /Zc:wchar_t ist standardmäßig aktiviert.
/Zc:wchar_t[-]
Hinweise
Wenn /Zc:wchar_t- angegeben wird, erfordert der Compiler, dass entweder wchar_t definiert wird, oder dass eine der vielen Headerdateien eingefügt wird, in der dieser Typ definiert ist (z. B. wchar.h). In der Regel wird wchar_t als unsigned short definiert.
Mit der Option /Zc:wchar_t erkennt der Compiler wchar_t als systemeigenen Typ. Weitere Informationen über wchar_t finden Sie unter Data Type Ranges.
__wchar_t steht immer zur Verfügung.
Indem Sie Überladungen für die beiden Varianten unsigned short und __wchar_t von wchar_t angeben, können Sie Bibliotheken erstellen, die problemlos mit dem Code verknüpft werden können, der mit oder ohne /Zc:wchar_t kompiliert wurde. Gleichzeitig entfällt die Notwendigkeit, zwei verschiedene Builds der Bibliothek bereitzustellen (eines mit aktiviertem /Zc:wchar_t und eines ohne).
Wenn /Zc:wchar_t angegeben wird, werden die Symbole _WCHAR_T_DEFINED und _NATIVE_WCHAR_T_DEFINED definiert. Weitere Informationen finden Sie unter Predefined Macros.
Explizite Verweise auf "comsupp.lib" – entweder aus dem Kommentarpragma oder über die Befehlszeile – sollten geändert werden, damit nun entweder "comsuppw.lib" oder "comsuppwd.lib" verwendet wird, da /Zc:wchar_t nun standardmäßig aktiviert ist. "comsupp.lib" sollte beim Kompilieren mit /Zc:wchar_t- nach wie vor verwendet werden.
Weitere Informationen zur Konformität mit Visual C++ finden Sie unter Compatibility and Compliance Issues in Visual C++.
So legen Sie diese Compileroption in der Visual Studio-Entwicklungsumgebung fest
Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Ausführliche Informationen finden Sie unter Ändern von Projekteinstellungen.
Klicken Sie auf den Ordner C/C++.
Klicken Sie auf die Eigenschaftenseite Sprache.
Ändern Sie die Eigenschaft wchar_t als built-in Typ behandeln.
So legen Sie diese Compileroption programmgesteuert fest
- Siehe TreatWChar_tAsBuiltInType.