1

Visual Studio 2010 では、コンソール プロジェクトを開始して #include を実行すると正常に動作しますが、win32 プロジェクトを開始して #include を実行すると、コンパイル中に多くのエラーが返されます。

なんで?

Error    1   error C2146: syntax error : missing ';' before identifier 'IXMLDOMImplementation'   c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    49  1   provamsxml6
Error   2   error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    49  1   provamsxml6
Error   3   error C2146: syntax error : missing ';' before identifier 'IXMLDOMImplementation'   c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    49  1   provamsxml6
Error   4   error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    49  1   provamsxml6
Error   5   error C4430: missing type specifier - int assumed. Note: C++ does not support default-int   c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    49  1   provamsxml6
Error   6   error C2086: 'int IXMLDOMImplementation' : redefinition c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    49  1   provamsxml6
Error   7   error C2146: syntax error : missing ';' before identifier 'IXMLDOMNode' c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    55  1   provamsxml6
Warning 8   warning C4091: '' : ignored on left of 'interface' when no variable is declared c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    55  1   provamsxml6
Error   9   error C2146: syntax error : missing ';' before identifier 'IXMLDOMDocumentFragment' c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    61  1   provamsxml6
Warning 10  warning C4091: '' : ignored on left of 'interface' when no variable is declared c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    61  1   provamsxml6
Error   11  error C2146: syntax error : missing ';' before identifier 'IXMLDOMDocument' c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    67  1   provamsxml6
Warning 12  warning C4091: '' : ignored on left of 'interface' when no variable is declared c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    67  1   provamsxml6
Error   13  error C2146: syntax error : missing ';' before identifier 'IXMLDOMDocument2'    c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    73  1   provamsxml6
Warning 14  warning C4091: '' : ignored on left of 'interface' when no variable is declared c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    73  1   provamsxml6
Error   15  error C2146: syntax error : missing ';' before identifier 'IXMLDOMDocument3'    c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    79  1   provamsxml6
Warning 16  warning C4091: '' : ignored on left of 'interface' when no variable is declared c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    79  1   provamsxml6
Error   17  error C2146: syntax error : missing ';' before identifier 'IXMLDOMNodeList' c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    85  1   provamsxml6
Warning 18  warning C4091: '' : ignored on left of 'interface' when no variable is declared c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    85  1   provamsxml6
Error   19  error C2146: syntax error : missing ';' before identifier 'IXMLDOMNamedNodeMap' c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    91  1   provamsxml6
Warning 20  warning C4091: '' : ignored on left of 'interface' when no variable is declared c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    91  1   provamsxml6
Error   21  error C2146: syntax error : missing ';' before identifier 'IXMLDOMCharacterData'    c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    97  1   provamsxml6
Warning 22  warning C4091: '' : ignored on left of 'interface' when no variable is declared c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    97  1   provamsxml6
Error   23  error C2146: syntax error : missing ';' before identifier 'IXMLDOMAttribute'    c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    103 1   provamsxml6
Warning 24  warning C4091: '' : ignored on left of 'interface' when no variable is declared c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    103 1   provamsxml6
Error   25  error C2146: syntax error : missing ';' before identifier 'IXMLDOMElement'  c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    109 1   provamsxml6
Warning 26  warning C4091: '' : ignored on left of 'interface' when no variable is declared c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    109 1   provamsxml6
Error   27  error C2146: syntax error : missing ';' before identifier 'IXMLDOMText' c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    115 1   provamsxml6
Warning 28  warning C4091: '' : ignored on left of 'interface' when no variable is declared c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    115 1   provamsxml6
Error   29  error C2146: syntax error : missing ';' before identifier 'IXMLDOMComment'  c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    121 1   provamsxml6
Warning 30  warning C4091: '' : ignored on left of 'interface' when no variable is declared c:\program files (x86)\microsoft sdks\windows\v7.0a\include\msxml6.h    121 1   provamsxml6

4

2 に答える 2

2

欠けているのは#include <ole2.h>、またはその一部です。
が定義されている場合WIN32_LEAN_AND_MEAN、Ole2 は から削除されたヘッダーの 1 つですWindows.h。が定義さ
れている場合、Ole2 を追加することができます。INC_OLE2

ヘッダーを提供していて、ユーザーが何を定義するかわからない場合は、安全のために行くことができます

#if !defined(INC_OLE2) && defined(WIN32_LEAN_AND_MEAN)
#include <ole2.h>
#endif
#include <msxml2.h>
于 2015-06-23T22:04:52.870 に答える
1

問題は、stdafx.h ファイルの #define WIN32_LEAN_AND_MEAN にあります。解決するには、このエントリを削除してください。

于 2012-06-07T15:39:42.140 に答える