您好,我用的是QT5.1.1 msvc2010_opengl 版本,安装路径为D:\Qt\Qt5.1.1\5.1.1\msvc2010_opengl,环境变量设置加上:D:\Qt\Qt5.1.1\5.1.1\msvc2010_opengl\bin;增加一环境变量QTDIR:D:\Qt\Qt5.1.1\5.1.1\msvc2010_opengl和QTMAKESPEC:D:\Qt\Qt5.1.1\5.1.1\msvc2010_opengl\mkspecs
但出现了如下错误,请帮忙看一下
Microsoft (R) Program Maintenance Utility Version 6.00.8168.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.
cl -c -nologo -Zm200 -Zc:wchar_t -O2 -MD -GR -W3 -w34100 -w34189 -DUNICO
DE -DWIN32 -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -DQT
_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -DNDEBUG -I"D:\Qt\Qt5.1.1\5.1.1
\msvc2010_opengl\include" -I"D:\Qt\Qt5.1.1\5.1.1\msvc2010_opengl\include\QtSql"
-I"D:\Qt\Qt5.1.1\5.1.1\msvc2010_opengl\include\QtSql\5.1.1" -I"D:\Qt\Qt5.1.1\5.1
.1\msvc2010_opengl\include\QtSql\5.1.1\QtSql" -I"D:\Qt\Qt5.1.1\5.1.1\msvc2010_op
engl\include\QtCore" -I"D:\Qt\Qt5.1.1\5.1.1\msvc2010_opengl\include\QtCore\5.1.1
" -I"D:\Qt\Qt5.1.1\5.1.1\msvc2010_opengl\include\QtCore\5.1.1\QtCore" -I".moc\re
lease_shared" -I"..\..\..\..\mkspecs\win32-msvc2010" -Fo.obj\release_shared\ @C:
\Users\ThinkPad\AppData\Local\Temp\nma07868.
Command line warning D4002 : ignoring unknown option '-Zc'
Command line warning D4002 : ignoring unknown option '-Z:'
Command line warning D4002 : ignoring unknown option '-Zw'
Command line warning D4002 : ignoring unknown option '-Zc'
Command line warning D4002 : ignoring unknown option '-Zh'
Command line warning D4002 : ignoring unknown option '-Zr'
Command line warning D4002 : ignoring unknown option '-Z_'
Command line warning D4002 : ignoring unknown option '-Zt'
Command line warning D4002 : ignoring unknown option '-w34100'
Command line warning D4002 : ignoring unknown option '-w34189'
main.cpp
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(81) : error
C2146: syntax error : missing ';' before identifier 'iterator_category'
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(84)
: see reference to class template instantiation 'std::iterator_traits<_It>' bein
g compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(81) : error
C2838: illegal qualified name in member declaration
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(84)
: see reference to class template instantiation 'std::iterator_traits<_It>' bein
g compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(81) : error
C2501: 'iterator_category' : missing storage-class or type specifiers
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(84)
: see reference to class template instantiation 'std::iterator_traits<_It>' bein
g compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(82) : error
C2146: syntax error : missing ';' before identifier 'value_type'
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(84)
: see reference to class template instantiation 'std::iterator_traits<_It>' bein
g compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(82) : error
C2838: illegal qualified name in member declaration
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(84)
: see reference to class template instantiation 'std::iterator_traits<_It>' bein
g compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(82) : error
C2501: 'value_type' : missing storage-class or type specifiers
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(84)
: see reference to class template instantiation 'std::iterator_traits<_It>' bein
g compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(83) : error
C2146: syntax error : missing ';' before identifier 'distance_type'
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(84)
: see reference to class template instantiation 'std::iterator_traits<_It>' bein
g compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(83) : error
C2838: illegal qualified name in member declaration
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(84)
: see reference to class template instantiation 'std::iterator_traits<_It>' bein
g compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(83) : error
C2501: 'distance_type' : missing storage-class or type specifiers
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(84)
: see reference to class template instantiation 'std::iterator_traits<_It>' bein
g compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(226) : error
C2974: 'iterator' : invalid template argument for '_D', type expected
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(71)
: see declaration of 'iterator'
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(279)
: see reference to class template instantiation 'std::istreambuf_iterator<_E,_T
r>' being compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(231) : error
C2146: syntax error : missing ';' before identifier 'int_type'
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(279)
: see reference to class template instantiation 'std::istreambuf_iterator<_E,_T
r>' being compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(231) : error
C2838: illegal qualified name in member declaration
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(279)
: see reference to class template instantiation 'std::istreambuf_iterator<_E,_T
r>' being compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(231) : error
C2501: 'int_type' : missing storage-class or type specifiers
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\utility(279)
: see reference to class template instantiation 'std::istreambuf_iterator<_E,_T
r>' being compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(77) : error
C2146: syntax error : missing ';' before identifier 'value_type'
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(92)
: see reference to class template instantiation 'std::back_insert_iterator<_C>'
being compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(77) : error
C2838: illegal qualified name in member declaration
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(92)
: see reference to class template instantiation 'std::back_insert_iterator<_C>'
being compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(77) : error
C2868: 'value_type' : illegal syntax for using-declaration; expected qualified-
name
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(92)
: see reference to class template instantiation 'std::back_insert_iterator<_C>'
being compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(81) : error
C2182: '<Unknown>' : illegal use of type 'void'
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(92)
: see reference to class template instantiation 'std::back_insert_iterator<_C>'
being compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(102) : erro
r C2146: syntax error : missing ';' before identifier 'value_type'
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(117
) : see reference to class template instantiation 'std::front_insert_iterator<_C
>' being compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(102) : erro
r C2838: illegal qualified name in member declaration
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(117
) : see reference to class template instantiation 'std::front_insert_iterator<_C
>' being compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(102) : erro
r C2868: 'value_type' : illegal syntax for using-declaration; expected qualified
-name
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(117
) : see reference to class template instantiation 'std::front_insert_iterator<_C
>' being compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(106) : erro
r C2182: '<Unknown>' : illegal use of type 'void'
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(117
) : see reference to class template instantiation 'std::front_insert_iterator<_C
>' being compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(127) : erro
r C2146: syntax error : missing ';' before identifier 'value_type'
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(144
) : see reference to class template instantiation 'std::insert_iterator<_C>' bei
ng compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(127) : erro
r C2838: illegal qualified name in member declaration
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(144
) : see reference to class template instantiation 'std::insert_iterator<_C>' bei
ng compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(127) : erro
r C2868: 'value_type' : illegal syntax for using-declaration; expected qualified
-name
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(144
) : see reference to class template instantiation 'std::insert_iterator<_C>' bei
ng compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(128) : erro
r C2629: unexpected 'class std::insert_iterator<_C> ('
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(144
) : see reference to class template instantiation 'std::insert_iterator<_C>' bei
ng compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(128) : erro
r C2334: unexpected token(s) preceding ':'; skipping apparent function body
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(144
) : see reference to class template instantiation 'std::insert_iterator<_C>' bei
ng compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(131) : erro
r C2182: '<Unknown>' : illegal use of type 'void'
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(144
) : see reference to class template instantiation 'std::insert_iterator<_C>' bei
ng compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(143) : erro
r C2146: syntax error : missing ';' before identifier 'iter'
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(144
) : see reference to class template instantiation 'std::insert_iterator<_C>' bei
ng compiled
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(143) : erro
r C2501: 'iter' : missing storage-class or type specifiers
D:\Program Files (x86)\Microsoft Visual Studio\VC98\include\iterator(144
) : see reference to class template instantiation 'std::insert_iterator<_C>' bei
ng compiled
D:\Qt\Qt5.1.1\5.1.1\msvc2010_opengl\include\QtCore/qglobal.h(395) : error C2989:
'AlignOf<class ?? ::T &>' : template class has already been defined as a non-te
mplate class
D:\Qt\Qt5.1.1\5.1.1\msvc2010_opengl\include\QtCore/qglobal.h(395) : error C2906:
C++ language change: to explicitly specialize class template 'AlignOf' use the
following syntax -
template<> struct AlignOf<class ?? ::`template-parameter-257' &> ...
D:\Qt\Qt5.1.1\5.1.1\msvc2010_opengl\include\QtCore/qglobal.h(395) : error C2988:
unrecognizable template declaration/definition
D:\Qt\Qt5.1.1\5.1.1\msvc2010_opengl\include\QtCore/qglobal.h(396) : error C2989:
'AlignOf<class ?? ::`template-parameter-258' [0]>' : template class has already
been defined as a non-template class
D:\Qt\Qt5.1.1\5.1.1\msvc2010_opengl\include\QtCore/qglobal.h(396) : error C2906:
C++ language change: to explicitly specialize class template 'AlignOf' use the
following syntax -
template<> struct AlignOf<class ?? ::`template-parameter-258' [0]> ...
D:\Qt\Qt5.1.1\5.1.1\msvc2010_opengl\include\QtCore/qglobal.h(396) : error C2988:
unrecognizable template declaration/definition
D:\Qt\Qt5.1.1\5.1.1\msvc2010_opengl\include\QtCore/qglobal.h(839) : error C2146:
syntax error : missing ';' before identifier 'i'
D:\Qt\Qt5.1.1\5.1.1\msvc2010_opengl\include\QtCore/qglobal.h(841) : see
reference to class template instantiation 'QForeachContainer<T>' being compiled
D:\Qt\Qt5.1.1\5.1.1\msvc2010_opengl\include\QtCore/qglobal.h(839) : error C2501:
'i' : missing storage-class or type specifiers
D:\Qt\Qt5.1.1\5.1.1\msvc2010_opengl\include\QtCore/qglobal.h(841) : see
reference to class template instantiation 'QForeachContainer<T>' being compiled
D:\Qt\Qt5.1.1\5.1.1\msvc2010_opengl\include\QtCore/qglobal.h(839) : error C2501:
'e' : missing storage-class or type specifiers
D:\Qt\Qt5.1.1\5.1.1\msvc2010_opengl\include\QtCore/qglobal.h(841) : see
reference to class template instantiation 'QForeachContainer<T>' being compiled
D:\Qt\Qt5.1.1\5.1.1\msvc2010_opengl\include\QtCore/qglobal.h(886) : error C2146:
syntax error : missing ';' before identifier 'qGetPtrHelper'
D:\Qt\Qt5.1.1\5.1.1\msvc2010_opengl\include\QtCore/qglobal.h(886) : error C2433:
'pointer' : 'inline' not permitted on data declarations
D:\Qt\Qt5.1.1\5.1.1\msvc2010_opengl\include\QtCore/qglobal.h(886) : fatal error
C1903: unable to recover from previous error(s); stopping compilation
NMAKE : fatal error U1077: 'cl' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"D:\Program Files (x86)\Microsoft Visual Studio\VC98
\bin\NMAKE.EXE"' : return code '0x2'
Stop.