MSVS 2010 SP1 で正常に動作するプロジェクトがあります。MSVS 2012 RC に変換しようとしています。主にC++ヘッダー/ライブラリパスとMFCカスタムに関連するものをいくつか変更する必要がありました。しかし、クリアしなければならない最後のハードルが 1 つあります。
unordered_map<basic_string<TCHAR>, int>
MSVC 2010 では、 orをたくさん使用していmap<basic_string<TCHAR>, int>
ます。それはうまくコンパイルされます。しかし、MSVS 2012 では、「C++ 標準はこの型のハッシュを提供していません」というエラーが表示されます。
ネットで少し調べたところ、MSVS 2012 は C++11 標準にもっと近いはずであり、標準では基本型と 4 つの定義済み文字列型のハッシュ関数しか定義されていないことがわかりました (その中にはstring
とwstring
が含まれていますがbasic_string
、含まれていません)。 )。だから私はすべてbasic_string<TCHAR>
をwstring
無駄に変更しました...それでも同じエラーが発生します。
アプリを再度コンパイルできるようにするにはどうすればよいですか?