我已经从simpleJSON中包含了文件JSONValue,它用于解析json字符串。 在编译时我收到此错误,即'wcsncasecmp'未在此范围内声明。 在这条线上。虽然搜索更多我认为wcsncasecmp是一个GNU特定的功能,我使用的是Windows,所以任何人都可以帮助我。
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);
}
。 我会很乐意帮助你。
答案 0 :(得分:1)
在Windows上,您可以使用_wcsnicmp
。
更多参考:_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l
答案 1 :(得分:1)
请在您的源代码中或在Visual Studio中定义WIN32宏,请将其添加到项目/属性/ C / C ++ /预处理程序定义中。
#define WIN32
在内部,它将定义 wcsncasecmp 为 _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