Errors involving tuple, conflict with Boost 1.47

1,721 views
Skip to first unread message

Nicholas Mario Wardhana

unread,
Aug 4, 2011, 6:47:31 AM8/4/11
to Google C++ Testing Framework
Hi all,

In my project, I use Google Test and Boost. Recently, I upgraded the
Boost library to version 1.47, and I receive errors as copied to the
end of this post. It was fine with 1.46.1. The minimal code to
reproduce the errors is either:

#include <gtest/gtest.h>
#include <boost/math/tools/tuple.hpp>

or

#include <boost/math/tools/tuple.hpp>
#include <gtest/gtest.h>

The former produces 23 errors, whereas the latter produces more than
100 errors. Would anyone mind telling me what I can do to solve this?
I haven't found any mention of this problem either here or in Boost's
mailing list (my apologies if there actually is).

I compile the code using Visual Studio 2008 on Windows Vista and
Windows 7, and my Google Test version is 1.6.0.

Thank you.

Best regards,
Nicholas

// ------------------------------- Errors from minimal code #1
1>c:\program files\microsoft visual studio 9.0\vc\include\tuple(231) :
error C2572: 'std::tr1::tuple' : redefinition of default parameter :
parameter 10
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(582) :
see declaration of 'std::tr1::tuple'
1>c:\program files\microsoft visual studio 9.0\vc\include\tuple(231) :
error C2572: 'std::tr1::tuple' : redefinition of default parameter :
parameter 9
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(582) :
see declaration of 'std::tr1::tuple'
1>c:\program files\microsoft visual studio 9.0\vc\include\tuple(231) :
error C2572: 'std::tr1::tuple' : redefinition of default parameter :
parameter 8
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(582) :
see declaration of 'std::tr1::tuple'
1>c:\program files\microsoft visual studio 9.0\vc\include\tuple(231) :
error C2572: 'std::tr1::tuple' : redefinition of default parameter :
parameter 7
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(582) :
see declaration of 'std::tr1::tuple'
1>c:\program files\microsoft visual studio 9.0\vc\include\tuple(231) :
error C2572: 'std::tr1::tuple' : redefinition of default parameter :
parameter 6
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(582) :
see declaration of 'std::tr1::tuple'
1>c:\program files\microsoft visual studio 9.0\vc\include\tuple(231) :
error C2572: 'std::tr1::tuple' : redefinition of default parameter :
parameter 5
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(582) :
see declaration of 'std::tr1::tuple'
1>c:\program files\microsoft visual studio 9.0\vc\include\tuple(231) :
error C2572: 'std::tr1::tuple' : redefinition of default parameter :
parameter 4
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(582) :
see declaration of 'std::tr1::tuple'
1>c:\program files\microsoft visual studio 9.0\vc\include\tuple(231) :
error C2572: 'std::tr1::tuple' : redefinition of default parameter :
parameter 3
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(582) :
see declaration of 'std::tr1::tuple'
1>c:\program files\microsoft visual studio 9.0\vc\include\tuple(231) :
error C2572: 'std::tr1::tuple' : redefinition of default parameter :
parameter 2
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(582) :
see declaration of 'std::tr1::tuple'
1>c:\program files\microsoft visual studio 9.0\vc\include\tuple(231) :
error C2572: 'std::tr1::tuple' : redefinition of default parameter :
parameter 1
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(582) :
see declaration of 'std::tr1::tuple'
1>c:\program files\microsoft visual studio 9.0\vc\include\tuple(303) :
error C2953: 'std::tr1::tuple' : class template has already been
defined
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(582) :
see declaration of 'std::tr1::tuple'
1>c:\program files\microsoft visual studio 9.0\vc\include\tuple(317) :
error C2783: 'void std::tr1::swap(std::tr1::tuple &,std::tr1::tuple
&)' : could not deduce template argument for '_Arg0'
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(307) : see declaration of 'std::tr1::swap'
1>c:\program files\microsoft visual studio 9.0\vc\include\tuple(317) :
error C2783: 'void std::tr1::swap(std::tr1::tuple &,std::tr1::tuple
&)' : could not deduce template argument for '_Arg1'
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(307) : see declaration of 'std::tr1::swap'
1>c:\program files\microsoft visual studio 9.0\vc\include\tuple(317) :
error C2783: 'void std::tr1::swap(std::tr1::tuple &,std::tr1::tuple
&)' : could not deduce template argument for '_Arg2'
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(307) : see declaration of 'std::tr1::swap'
1>c:\program files\microsoft visual studio 9.0\vc\include\tuple(317) :
error C2783: 'void std::tr1::swap(std::tr1::tuple &,std::tr1::tuple
&)' : could not deduce template argument for '_Arg3'
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(307) : see declaration of 'std::tr1::swap'
1>c:\program files\microsoft visual studio 9.0\vc\include\tuple(317) :
error C2783: 'void std::tr1::swap(std::tr1::tuple &,std::tr1::tuple
&)' : could not deduce template argument for '_Arg4'
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(307) : see declaration of 'std::tr1::swap'
1>c:\program files\microsoft visual studio 9.0\vc\include\tuple(317) :
error C2783: 'void std::tr1::swap(std::tr1::tuple &,std::tr1::tuple
&)' : could not deduce template argument for '_Arg5'
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(307) : see declaration of 'std::tr1::swap'
1>c:\program files\microsoft visual studio 9.0\vc\include\tuple(317) :
error C2783: 'void std::tr1::swap(std::tr1::tuple &,std::tr1::tuple
&)' : could not deduce template argument for '_Arg6'
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(307) : see declaration of 'std::tr1::swap'
1>c:\program files\microsoft visual studio 9.0\vc\include\tuple(317) :
error C2783: 'void std::tr1::swap(std::tr1::tuple &,std::tr1::tuple
&)' : could not deduce template argument for '_Arg7'
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(307) : see declaration of 'std::tr1::swap'
1>c:\program files\microsoft visual studio 9.0\vc\include\tuple(317) :
error C2783: 'void std::tr1::swap(std::tr1::tuple &,std::tr1::tuple
&)' : could not deduce template argument for '_Arg8'
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(307) : see declaration of 'std::tr1::swap'
1>c:\program files\microsoft visual studio 9.0\vc\include\tuple(317) :
error C2783: 'void std::tr1::swap(std::tr1::tuple &,std::tr1::tuple
&)' : could not deduce template argument for '_Arg9'
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(307) : see declaration of 'std::tr1::swap'
1>c:\program files\microsoft visual studio 9.0\vc\include\tuple(317) :
error C2912: explicit specialization; 'void
std::tr1::swap(std::tr1::tuple &,std::tr1::tuple &)' is not a
specialization of a function template
1>c:\program files\microsoft visual studio 9.0\vc\include\tuple(317) :
fatal error C1903: unable to recover from previous error(s); stopping
compilation
// ------------------------------- End of errors from minimal code #1

// ------------------------------- Errors from minimal code #2

1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(175) : error C2908:
explicit specialization; 'std::tr1::tuple<>' has already been
instantiated
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(180) : error C2766:
explicit specialization; 'std::tr1::tuple<>' has already been defined
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(175) :
see previous definition of
'tuple<std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil,std::tr1::_Nil>'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(637) : error C2953:
'std::tr1::tuple' : class template has already been defined
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(645) : error C2556:
'std::tr1::tuple std::tr1::make_tuple(void)' : overloaded function
differs only by return type from 'std::tr1::tuple<>
std::tr1::make_tuple(void)'
1> c:\program files\microsoft visual studio 9.0\vc\include
\xxtuple1(8) : see declaration of 'std::tr1::make_tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(645) : error C2371:
'std::tr1::make_tuple' : redefinition; different basic types
1> c:\program files\microsoft visual studio 9.0\vc\include
\xxtuple1(8) : see declaration of 'std::tr1::make_tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(645) : error C2955:
'std::tr1::tuple' : use of class template requires template argument
list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(645) : error C3861:
'tuple': identifier not found
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(711) : error C3203:
'tuple' : unspecialized class template can't be used as a template
argument for template parameter '_Tuple', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(711) : error C2955:
'std::tr1::tuple' : use of class template requires template argument
list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(711) : error C2913:
explicit specialization; 'std::tr1::tuple_size' is not a
specialization of a class template
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(714) : error C2953:
'std::tr1::tuple_size' : class template has already been defined
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(418) : see declaration of 'std::tr1::tuple_size'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(717) : error C2977:
'std::tr1::tuple_size' : too many template arguments
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(418) : see declaration of 'std::tr1::tuple_size'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(720) : error C2977:
'std::tr1::tuple_size' : too many template arguments
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(418) : see declaration of 'std::tr1::tuple_size'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(723) : error C2977:
'std::tr1::tuple_size' : too many template arguments
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(418) : see declaration of 'std::tr1::tuple_size'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(726) : error C2977:
'std::tr1::tuple_size' : too many template arguments
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(418) : see declaration of 'std::tr1::tuple_size'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(729) : error C2977:
'std::tr1::tuple_size' : too many template arguments
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(418) : see declaration of 'std::tr1::tuple_size'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(732) : error C2977:
'std::tr1::tuple_size' : too many template arguments
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(418) : see declaration of 'std::tr1::tuple_size'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(735) : error C2977:
'std::tr1::tuple_size' : too many template arguments
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(418) : see declaration of 'std::tr1::tuple_size'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(738) : error C2977:
'std::tr1::tuple_size' : too many template arguments
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(418) : see declaration of 'std::tr1::tuple_size'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(741) : error C2977:
'std::tr1::tuple_size' : too many template arguments
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(418) : see declaration of 'std::tr1::tuple_size'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-tuple.h(747) : error C2953:
'std::tr1::tuple_element' : class template has already been defined
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(426) : see declaration of 'std::tr1::tuple_element'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2839) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2949) : see reference to class template instantiation
'testing::internal::CartesianProductGenerator2<T1,T2>' being compiled
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2839) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2839) : error C2955:
'testing::internal::ParamGeneratorInterface' : use of class template
requires template argument list
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-param-
util.h(142) : see declaration of
'testing::internal::ParamGeneratorInterface'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2848) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2848) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2851) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2851) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2856) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2856) : see reference to class template instantiation
'testing::internal::CartesianProductGenerator2<T1,T2>::Iterator' being
compiled
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2856) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2856) : error C2955:
'testing::internal::ParamIteratorInterface' : use of class template
requires template argument list
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-param-
util.h(69) : see declaration of
'testing::internal::ParamIteratorInterface'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2858) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2858) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2858) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2858) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2870) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2870) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2884) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2884) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2888) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2888) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2932) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2932) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2954) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3081) : see reference to class template instantiation
'testing::internal::CartesianProductGenerator3<T1,T2,T3>' being
compiled
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2954) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2954) : error C2955:
'testing::internal::ParamGeneratorInterface' : use of class template
requires template argument list
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-param-
util.h(142) : see declaration of
'testing::internal::ParamGeneratorInterface'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2963) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2963) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2967) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2967) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2972) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2972) : see reference to class template instantiation
'testing::internal::CartesianProductGenerator3<T1,T2,T3>::Iterator'
being compiled
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2972) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2972) : error C2955:
'testing::internal::ParamIteratorInterface' : use of class template
requires template argument list
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-param-
util.h(69) : see declaration of
'testing::internal::ParamIteratorInterface'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2974) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2974) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2974) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2974) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2989) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(2989) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3007) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3007) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3011) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3011) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3060) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3060) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3086) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3232) : see reference to class template instantiation
'testing::internal::CartesianProductGenerator4<T1,T2,T3,T4>' being
compiled
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3086) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3086) : error C2955:
'testing::internal::ParamGeneratorInterface' : use of class template
requires template argument list
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-param-
util.h(142) : see declaration of
'testing::internal::ParamGeneratorInterface'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3096) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3096) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3100) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3100) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3106) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3106) : see reference to class template instantiation
'testing::internal::CartesianProductGenerator4<T1,T2,T3,T4>::Iterator'
being compiled
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3106) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3106) : error C2955:
'testing::internal::ParamIteratorInterface' : use of class template
requires template argument list
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-param-
util.h(69) : see declaration of
'testing::internal::ParamIteratorInterface'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3108) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3108) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3108) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3108) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3126) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3126) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3148) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3148) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3152) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3152) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3207) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3207) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3237) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3399) : see reference to class template instantiation
'testing::internal::CartesianProductGenerator5<T1,T2,T3,T4,T5>' being
compiled
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3237) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3237) : error C2955:
'testing::internal::ParamGeneratorInterface' : use of class template
requires template argument list
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-param-
util.h(142) : see declaration of
'testing::internal::ParamGeneratorInterface'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3247) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3247) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3251) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3251) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3257) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3257) : see reference to class template instantiation
'testing::internal::CartesianProductGenerator5<T1,T2,T3,T4,T5>::Iterator'
being compiled
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3257) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3257) : error C2955:
'testing::internal::ParamIteratorInterface' : use of class template
requires template argument list
1> d:\nixx\documents\visual studio 2008\projects\testbed
\dependencies\gtest-1.6.0\include\gtest\internal\gtest-param-
util.h(69) : see declaration of
'testing::internal::ParamIteratorInterface'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3259) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3259) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3259) : error C3203: 'tuple' : unspecialized class
template can't be used as a template argument for template parameter
'T', expected a real type
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3259) : error C2955: 'std::tr1::tuple' : use of class
template requires template argument list
1> c:\program files\microsoft visual studio 9.0\vc\include
\tuple(233) : see declaration of 'std::tr1::tuple'
1>d:\nixx\documents\visual studio 2008\projects\testbed\dependencies
\gtest-1.6.0\include\gtest\internal\gtest-param-util-
generated.h(3259) : fatal error C1003: error count exceeds 100;
stopping compilation

// ------------------------------- End of errors from minimal code #1

Vlad Losev

unread,
Aug 8, 2011, 2:47:06 PM8/8/11
to Nicholas Mario Wardhana, Google C++ Testing Framework
Google Test has code to detect tr1::tuple in boost but it may not work with the newer boost versions. To suppress Google Test's own tuple definition, try building it and your tests with -DGTEST_HAVE_OWN_TR1_TUPLE=0.

Daniel Krügler

unread,
May 2, 2012, 10:49:26 AM5/2/12
to googletes...@googlegroups.com, Nicholas Mario Wardhana
Am Montag, 8. August 2011 20:47:06 UTC+2 schrieb Vlad Losev:
Google Test has code to detect tr1::tuple in boost but it may not work with the newer boost versions.

To make the problem clearer: This is *not* a boost-related problem. It suffices to write

#include <tuple>

#include "gtest/gtest.h"

to get the same kind of errors. It seems that the built-in logic of the gtest headers incorrectly deduces that

tr1 tuple does not exist in VS2008. There is some source code comment of the form

"MSVC 2008 (9.0) provides TR1 tuple in a 323 MB Feature Pack download, which we cannot assume the user has."

but this assumption breaks a lot of code. My guess is that the existing test logic

# if (defined(__GNUC__) && !defined(__CUDACC__) && (GTEST_GCC_VER_ >= 40000)) \

    || _MSC_VER >= 1600

#  define GTEST_USE_OWN_TR1_TUPLE 0

should be changed to

# if (defined(__GNUC__) && !defined(__CUDACC__) && (GTEST_GCC_VER_ >= 40000)) \

    || defined(_MSC_VER) && (_MSC_VER >= 1600 || (_MSC_VER >= 1500 && defined(_HAS_TR1) && (_HAS_TR1 + 0)))
#  define GTEST_USE_OWN_TR1_TUPLE 0


to fix the problem (In fact this is was boost tests to ensure that #include <tuple> will be well-formed)


>> To suppress Google Test's own tuple definition, try building it and your tests with -DGTEST_HAVE_OWN_TR1_TUPLE=0.

Yes, we came to the same conclusion, but I think that the gtest headers should improve their internal logic here. The fix
seems pretty simple.

Greetings from Bremen,

Daniel Krügler

ct.ra...@gmail.com

unread,
May 27, 2013, 11:12:45 AM5/27/13
to googletes...@googlegroups.com, Nicholas Mario Wardhana
Solved by defining the following macro value before the includes
#define GTEST_HAS_TR1_TUPLE 0

All the best to all of you
Radu Costin

luni, 27 mai 2013, 16:28:07 UTC+3, ct.ra...@gmail.com a scris:
I have encountered the same problem with tr1/tuple when trying to test a class that included boost/random.hpp and boost/math/distributions/normal.hpp
This time on Centos 6.4
It all happens with
gtest-1.6.0,
boost-1.41  (standard on centos 6)
libstdc++-4.4.6 (standard on centos 6)

The error is as follows for me:
In file included from /usr/include/gtest/internal/gtest-port.h:502,
                 from /usr/include/gtest/internal/gtest-internal.h:40,
                 from /usr/include/gtest/gtest.h:57,
                 from ./src/tests/NormalGeneratorTest.cc:12:
/usr/lib/gcc/x86_64-redhat-linux/4.4.7/../../../../include/c++/4.4.7/tr1/tuple:128: error: redeclared with 1 template parameter(s)
.....

Regards,
Radu  Costin

Morgan Leborgne

unread,
Jun 7, 2013, 4:32:40 PM6/7/13
to googletes...@googlegroups.com, Nicholas Mario Wardhana

>># if (defined(__GNUC__) && !defined(__CUDACC__) && (GTEST_GCC_VER_ >= 40000)) \

>>    || defined(_MSC_VER) && (_MSC_VER >= 1600 || (_MSC_VER >= 1500 && defined(_HAS_TR1) && (_HAS_TR1 + 0))) 
>>#  define GTEST_USE_OWN_TR1_TUPLE 0

I confirm it's fixing the problem. The tr1 support come also from the sp1 according to http://blogs.msdn.com/b/vcblog/archive/2008/08/11/tr1-fixes-in-vc9-sp1.aspx

Adding -DGTEST_HAVE_OWN_TR1_TUPLE=0 is a pain since we have a lot of projects in the solution using gtest, and adding it globally break gmock that seems to rely on gtest to provide the tuples. 

I really hope to see this patch in the trunk and I'm willing to help.

Morgan
Reply all
Reply to author
Forward
0 new messages