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 では、これはファイルの存続期間に当てはまったようです。削除しても安全かどうか知っている人はいますか?
残念ながら、プロジェクトにはユニコードと互換性のないソースが多数あるため、このプロジェクトをユニコードでコンパイルすることはできません。
乾杯
カイル