ページ 11

GoogleMock with VS2012

Posted: 2012年10月23日(火) 16:49
by Suikaba
質問させていただきます。
GoogleMockの環境を整えていたんですが、VisualStudioでビルドすると

コード:

C:\lib\gmock\include\gmock/internal/gmock-generated-internal-utils.h(133): error C2977: 'std::tuple' : テンプレート 引数の数が多すぎます
1>          C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\utility(73) : 'std::tuple' の宣言を確認してください。
1>C:\lib\gmock\include\gmock/internal/gmock-generated-internal-utils.h(133): error C3203: 'tuple' : 非特殊クラス テンプレート は、テンプレート 引数として テンプレート パラメーター 'Tuple' に使用できません。実際の型を指定してください
のようなエラーがでてしまう問題で、
GoogleTestのgtest_port.hに

コード:

#if defined(_MSC_VER) && _MSC_VER == 1700
# ifndef _VARIADIC_MAX
#  define _VARIADIC_MAX 10
# elif _VARIADIC_MAX < 9
#  define GTEST_HAS_TR1_TUPLE 0
# endif
#endif

// ...

#if GTEST_HAS_TR1_TUPLE
# if GTEST_USE_OWN_TR1_TUPLE
//...
# else // ここから
# include <tuple>
#  if defined(_MSC_VER) && _MSC_VER >= 1700
namespace std { namespace tr1 { using std::tuple; } }
#  endif
# endif // ここまで追加
#endif

//...

というコードを追加しました。
するとGoogleTestの方はうまく行ったんですが、Mockのほうが相変わらずのエラーで困っております。
対処法ご存知のかたよろしくお願いします。

Re: GoogleMock with VS2012

Posted: 2012年10月23日(火) 22:29
by Suikaba
自己解決しました。
ありがとうございました。