2016-09-21 3 views
0

の私は、Visual C++ 2012を使用して3.0をピンに私のツールを移植しています、私は移植ガイドに従っherePIN 3.0コンパイルエラー、私は今のWindows 10を持っているので、理由は「__value」記号

を提供しかし、私はエラーに遭遇しました:

error C4890: '__value': use of this keyword requires the command line option: /clr:oldSyntax 

この/ CLR投入時:oldSyntaxオプションのを、プラスそれ以外の場合は、/ CLRと互換性がないとして、(代わりに/ GR-の/ GR)RTTIの可用性を追加: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 

に位置する3210

これは共通の問題であり、そのいずれかの回避策がありますか?または、私は移植ガイドで何かを忘れましたか?私は、このPIN3.0ヘッダーに導入された__valueという名前が争いになっていることを理解しています。報告されたように

+0

このコードではなく残酷に非友好的なC++にあります。実際に/ clrを使ってコンパイルすることを検討する理由は、推測するのが非常に難しいです。あなたはできません。 –

+0

@Hans Passant:質問を編集しました。私は/ clrでコンパイルしませんでしたが、/ clr:oldSyntaxをコンパイラから要求されていました。 – Heyji

答えて

0

これは明らかに視覚的なC言語で「バグ」++でhere

ソリューションは、次のプリプロセッサ定義を追加することです:

/D__value=_value 
関連する問題