我正在尝试将MongoDB c ++驱动程序编译到我的项目中,并且遇到了一个有趣的错误。
在util / text.h中,您可以找到以下代码:
/* like toWideString but UNICODE macro sensitive */
# if !defined(_UNICODE)
#error temp error
inline std::string toNativeString(const char *s) { return s; }
# else
inline std::wstring toNativeString(const char *s) { return toWideString(s); }
# endif
看起来您应该能够在没有_UNICODE定义的情况下编译它,但是这个看似任意的行#error temp错误会导致失败。在Github上,这似乎是文件生命周期的情况。有谁知道删除它是否安全?
不幸的是,我不能只用unicode编译这个项目,因为项目中还有许多unicode不兼容的源。
干杯
凯尔