我正在尝试建立一个开源项目,但发现多个
identifier wchar_t is undefined error
我了解这些固有类型的定义来自编译器,但我正在获取其他类型的定义,但不确定为什么为什么要特别为wchar_t分解?
我怀疑,因为我正在使用 Visual Studio 2017-Clang与Microsoft CodeGen(v141_clang_c2)作为工具集,我怀疑这可能与打开正确的标记一样简单。
最佳答案
我添加了这两行,它解决了这个问题,
#undef _WCHAR_T_DEFINED
#include<stddef.h>
但是,我不确定这是否是最佳选择。
因此,此更改是在了解@keith告诉我的之后,需要为C添加wchat_t。进一步进行研究以了解编译器级别的行为和可用的标志。
要知道为什么我添加了宏的undef,请阅读以下链接,
简而言之,
// RUN: %clang_cl /c -### /Zc:wchar_t -- %s 2>&1 | FileCheck -check-prefix=WCHAR_T-ON %s
// WCHAR_T-ON-NOT: argument unused during compilation
// RUN: %clang_cl /c -### /Zc:wchar_t- -- %s 2>&1 | FileCheck -check-prefix=WCHAR_T-OFF %s
// WCHAR_T-OFF: argument unused during compilation
关于c - 标识符wchar_t未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59079700/