C++ ';wcsncasecmp';未在此范围中声明
我包含了来自simpleJSON的文件JSONValue,用于解析json字符串。 编译时,我收到一个错误,即“wcsncasecmp”未在此范围内声明。 在这条线上。在搜索更多关于wcsncasecmp是GNU特定函数的信息时,我使用的是windows,所以任何人都可以帮助我C++ ';wcsncasecmp';未在此范围中声明,c++,c,json,C++,C,Json,我包含了来自simpleJSON的文件JSONValue,用于解析json字符串。 编译时,我收到一个错误,即“wcsncasecmp”未在此范围内声明。 在这条线上。在搜索更多关于wcsncasecmp是GNU特定函数的信息时,我使用的是windows,所以任何人都可以帮助我 else if ((simplejson_wcsnlen(*data, 4) && wcsncasecmp(*data, L"true", 4) == 0) || (simplejson_wcsn
else if ((simplejson_wcsnlen(*data, 4) && wcsncasecmp(*data, L"true", 4) == 0) || (simplejson_wcsnlen(*data, 5) && wcsncasecmp(*data, L"false", 5) == 0))
{
bool value = wcsncasecmp(*data, L"true", 4) == 0;
(*data) += value ? 4 : 5;
return new JSONValue(value);
}
。
我将非常感谢您的帮助。在windows上,您可以使用
\wcsnicmp
更多参考:请在源代码或Visual Studio中定义WIN32宏。请将其添加到project/Properties/C/C++/预处理器定义中
#define WIN32
在内部,它将把wcsncasecmp定义为\u wcsnicmp,就像Rohan已经提到的那样。
这是SimpleJSON的一个已知问题
// Win32 incompatibilities
#if defined(WIN32) && !defined(__GNUC__)
#define wcsncasecmp _wcsnicmp
static inline bool isnan(double x) { return x != x; }
static inline bool isinf(double x) { return !isnan(x) && isnan(x - x); }
#endif