現在、Windows 10 を使用しているため、Visual C++ 2012 を使用してツールを PIN 3.0 に移植しています。ここで提供されている移植ガイドに従いました。
ただし、エラーが発生しました:
error C4890: '__value': use of this keyword requires the command line option: /clr:oldSyntax
この /clr:oldSyntax オプションをオンにして、RTTI の可用性 (/GR- の代わりに /GR) を追加すると、/clr:oldSyntax と互換性がないため、多かれ少なかれ同じ問題が発生します。
error C2059: syntax error: '__value'
このエラーはファイル type_trait.h (PIN 3.0 ライブラリのヘッダー ファイル) にあります。
#ifdef _STLP_STATIC_CONST_INIT_BUG
static const bool __value;
#else
static const bool __value = sizeof(__test<_Tp>(0)) == sizeof(__select_types::__t1);
#endif
これは一般的な問題ですか? その場合、回避策はありますか? または、移植ガイドで何かを見逃していましたか? この PIN 3.0 ヘッダーで導入された __value という名前が矛盾していることを理解しています。