Setting of the project in "C/C++ -> Language -> Treat wchar_t as Built-In Type" to "No" (originally it was: "Yes(/Zc:wchar_t)".
/Zc:wchar_t(wchar_t 是本机类型)
请参见
/Zc:wchar_t
如果未指定 /Zc:wchar_t,则编译器要求您或者定义 wchar_t,或者包括定义 wchar_t 的众多头文件中的一个文件(例如 wchar.h)。wchar_t 通常定义为 unsigned short。
在指定 /Zc:wchar_t 编译器选项时,类型 wchar_t 成为映射到 __wchar_t 的本机类型,其映射方式与 short 映射到 __int16 相同。
如果使用 /Zc:wchar_t,编译器将 wchar_t 识别为本机类型。有关 wchar_t 的更多信息,请参见数据类型范围。
__wchar_t 始终可用。
通过同时为 wchar_t 的无符号短格式和 __wchar_t 变体提供重载,您可以创建能够轻松通过用(或未用)/Zc:wchar_t 编译的代码链接的库,并且无需提供该库的两个不同的版本(启用和未启用 /Zc:wchar_t 的版本)。
指定 /Zc:wchar_t 时,定义 _WCHAR_T_DEFINED 和 _NATIVE_WCHAR_T_DEFINED 符号;有关更多信息,请参见预定义宏。
有关 Visual C++ 的一致性问题的更多信息,请参见 Visual C++ 中的标准遵从性问题。
在 Visual Studio 开发环境中设置此编译器选项
打开此项目的“属性页”对话框。有关详细信息,请参见设置 Visual C++ 项目属性。
单击“C/C++”文件夹。
单击“语言”属性页。
修改“将 wchar_t 视为内置类型”属性。
ms-help://MS.MSDNQTR.2003FEB.2052/vccore/html/vclrfZcwchar_t.htm