Если я пытаюсь построить libjingle с помощью SCons, я бегу в следующее сообщение об ошибке:Попытка построить libjingle 0.6.14 с SCons терпит неудачу
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
________Compiling build\dbg\obj\third_party\gtest\src\gtest-all.obj
gtest-all.cc
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\gtest-printers.h(550) : error C2977: 'std::tuple' : too many template arguments
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\gtest-printers.h(558) : error C2977: 'std::tuple' : too many template arguments
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4338) : error C2977: 'std::tuple' : too m
any template arguments
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\inclu
de\gtest\internal\gtest-param-util-generated.h(4570) : see reference to class te
mplate instantiation 'testing::internal::CartesianProductGenerator9<T1,T2,T3,T4,
T5,T6,T7,T8,T9>' being compiled
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4338) : error C3203: 'tuple' : unspeciali
zed class template can't be used as a template argument for template parameter '
T', expected a real type
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4338) : error C2955: 'std::tuple' : use o
f class template requires template argument list
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4338) : error C2955: 'testing::internal::
ParamGeneratorInterface' : use of class template requires template argument list
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\inclu
de\gtest\internal\gtest-param-util.h(142) : see declaration of 'testing::interna
l::ParamGeneratorInterface'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4340) : error C2977: 'std::tuple' : too m
any template arguments
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4351) : error C3203: 'tuple' : unspeciali
zed class template can't be used as a template argument for template parameter '
T', expected a real type
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4351) : error C2955: 'std::tuple' : use o
f class template requires template argument list
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4356) : error C3203: 'tuple' : unspeciali
zed class template can't be used as a template argument for template parameter '
T', expected a real type
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4356) : error C2955: 'std::tuple' : use o
f class template requires template argument list
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4363) : error C3203: 'tuple' : unspeciali
zed class template can't be used as a template argument for template parameter '
T', expected a real type
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\inclu
de\gtest\internal\gtest-param-util-generated.h(4363) : see reference to class te
mplate instantiation 'testing::internal::CartesianProductGenerator9<T1,T2,T3,T4,
T5,T6,T7,T8,T9>::Iterator' being compiled
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4363) : error C2955: 'std::tuple' : use o
f class template requires template argument list
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4363) : error C2955: 'testing::internal::
ParamIteratorInterface' : use of class template requires template argument list
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\inclu
de\gtest\internal\gtest-param-util.h(69) : see declaration of 'testing::internal
::ParamIteratorInterface'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4365) : error C3203: 'tuple' : unspeciali
zed class template can't be used as a template argument for template parameter '
T', expected a real type
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4365) : error C2955: 'std::tuple' : use o
f class template requires template argument list
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4398) : error C3203: 'tuple' : unspeciali
zed class template can't be used as a template argument for template parameter '
T', expected a real type
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4398) : error C2955: 'std::tuple' : use o
f class template requires template argument list
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4440) : error C3203: 'tuple' : unspeciali
zed class template can't be used as a template argument for template parameter '
T', expected a real type
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4440) : error C2955: 'std::tuple' : use o
f class template requires template argument list
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4444) : error C3203: 'tuple' : unspeciali
zed class template can't be used as a template argument for template parameter '
T', expected a real type
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4444) : error C2955: 'std::tuple' : use o
f class template requires template argument list
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4525) : error C3203: 'tuple' : unspeciali
zed class template can't be used as a template argument for template parameter '
T', expected a real type
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4525) : error C2955: 'std::tuple' : use o
f class template requires template argument list
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4577) : error C2977: 'std::tuple' : too m
any template arguments
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\inclu
de\gtest\internal\gtest-param-util-generated.h(4826) : see reference to class te
mplate instantiation 'testing::internal::CartesianProductGenerator10<T1,T2,T3,T4
,T5,T6,T7,T8,T9,T10>' being compiled
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4577) : error C3203: 'tuple' : unspeciali
zed class template can't be used as a template argument for template parameter '
T', expected a real type
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4577) : error C2955: 'std::tuple' : use o
f class template requires template argument list
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4577) : error C2955: 'testing::internal::
ParamGeneratorInterface' : use of class template requires template argument list
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\inclu
de\gtest\internal\gtest-param-util.h(142) : see declaration of 'testing::interna
l::ParamGeneratorInterface'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4579) : error C2977: 'std::tuple' : too m
any template arguments
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4591) : error C3203: 'tuple' : unspeciali
zed class template can't be used as a template argument for template parameter '
T', expected a real type
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4591) : error C2955: 'std::tuple' : use o
f class template requires template argument list
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4596) : error C3203: 'tuple' : unspeciali
zed class template can't be used as a template argument for template parameter '
T', expected a real type
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4596) : error C2955: 'std::tuple' : use o
f class template requires template argument list
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4603) : error C3203: 'tuple' : unspeciali
zed class template can't be used as a template argument for template parameter '
T', expected a real type
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\inclu
de\gtest\internal\gtest-param-util-generated.h(4603) : see reference to class te
mplate instantiation 'testing::internal::CartesianProductGenerator10<T1,T2,T3,T4
,T5,T6,T7,T8,T9,T10>::Iterator' being compiled
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4603) : error C2955: 'std::tuple' : use o
f class template requires template argument list
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4603) : error C2955: 'testing::internal::
ParamIteratorInterface' : use of class template requires template argument list
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\inclu
de\gtest\internal\gtest-param-util.h(69) : see declaration of 'testing::internal
::ParamIteratorInterface'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4605) : error C3203: 'tuple' : unspeciali
zed class template can't be used as a template argument for template parameter '
T', expected a real type
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4605) : error C2955: 'std::tuple' : use o
f class template requires template argument list
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4641) : error C3203: 'tuple' : unspeciali
zed class template can't be used as a template argument for template parameter '
T', expected a real type
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4641) : error C2955: 'std::tuple' : use o
f class template requires template argument list
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4687) : error C3203: 'tuple' : unspeciali
zed class template can't be used as a template argument for template parameter '
T', expected a real type
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4687) : error C2955: 'std::tuple' : use o
f class template requires template argument list
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4691) : error C3203: 'tuple' : unspeciali
zed class template can't be used as a template argument for template parameter '
T', expected a real type
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4691) : error C2955: 'std::tuple' : use o
f class template requires template argument list
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4777) : error C3203: 'tuple' : unspeciali
zed class template can't be used as a template argument for template parameter '
T', expected a real type
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(4777) : error C2955: 'std::tuple' : use o
f class template requires template argument list
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(5059) : error C2977: 'std::tuple' : too m
any template arguments
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\inclu
de\gtest\internal\gtest-param-util-generated.h(5087) : see reference to class te
mplate instantiation 'testing::internal::CartesianProductHolder9<Generator1,Gene
rator2,Generator3,Generator4,Generator5,Generator6,Generator7,Generator8,Generat
or9>' being compiled
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(5059) : error C3203: 'tuple' : unspeciali
zed class template can't be used as a template argument for template parameter '
T', expected a real type
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(5059) : error C2955: 'std::tuple' : use o
f class template requires template argument list
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(5103) : error C2977: 'std::tuple' : too m
any template arguments
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\inclu
de\gtest\internal\gtest-param-util-generated.h(5134) : see reference to class te
mplate instantiation 'testing::internal::CartesianProductHolder10<Generator1,Gen
erator2,Generator3,Generator4,Generator5,Generator6,Generator7,Generator8,Genera
tor9,Generator10>' being compiled
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(5103) : error C3203: 'tuple' : unspeciali
zed class template can't be used as a template argument for template parameter '
T', expected a real type
c:\users\cmrl\dependencies\libjingle-0.6.14\talk\third_party\gtest\include\gtest
\internal\gtest-param-util-generated.h(5103) : error C2955: 'std::tuple' : use o
f class template requires template argument list
c:\program files (x86)\microsoft visual studio 11.0\vc\include\utility(7
3) : see declaration of 'std::tuple'
scons: *** [build\dbg\obj\third_party\gtest\src\gtest-all.obj] Error 2
scons: building terminated because of errors.
ТЛ; Др: кучу ошибок шаблона в GTEST.
Я пытаюсь построить версию 0.6.14, и эта ошибка возникает при версиях scons 2.0.1, 2.1.0, 2.3.4 и local-2.3.4. Все остальные зависимости обновлены, и нет никаких проблем с VS. Я попытался запустить hammer.bat в командной строке VS и получил ту же ошибку. Кто-нибудь еще сталкивался с этим раньше? Как бы исправить это, не пытаясь самостоятельно отредактировать код?
Вы уже пробовали приходить сообщение об ошибке компилятора? Поиск ключевых слов «ошибка c2977 слишком много аргументов шаблона» должен начать вас ... – dirkbaechle
@dirkbaechle У меня есть, но все просто предлагают переписать код, чтобы он имел правильное количество аргументов. Я действительно не хочу переписывать весь их код. – PropaneAccessories