GoogleMock with VS2012
Posted: 2012年10月23日(火) 16:49
質問させていただきます。
GoogleMockの環境を整えていたんですが、VisualStudioでビルドすると
のようなエラーがでてしまう問題で、
GoogleTestのgtest_port.hに
というコードを追加しました。
するとGoogleTestの方はうまく行ったんですが、Mockのほうが相変わらずのエラーで困っております。
対処法ご存知のかたよろしくお願いします。
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のほうが相変わらずのエラーで困っております。
対処法ご存知のかたよろしくお願いします。