我使用Visual c ++ 2012将我的工具移植到PIN 3.0,因为我现在有Windows 10.我按照提供的移植指南here
然而,我遇到了一个错误:
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是隐藏的。