2

コードをコンパイルしようとするたびに、大量のエラーが発生します。私のコードの問題ではありません。別のコンピューターで問題なく動作していたからです。再インストールと修正を試みましたが、解決しませんでした。エラーメッセージ全体は次のとおりです。

1>------ Build started: Project: Raptor Triangle 2, Configuration: Debug Win32 ------
1>  Raptor Triangle 2.cpp
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(57): error C2011: 'vc_attributes::YesNoMaybe' : 'enum' type redefinition
1>          c:\program files\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(57) : see declaration of 'vc_attributes::YesNoMaybe'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(67): error C2011: 'vc_attributes::AccessType' : 'enum' type redefinition
1>          c:\program files\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(67) : see declaration of 'vc_attributes::AccessType'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(81): error C2011: 'vc_attributes::Pre' : 'struct' type redefinition
1>          c:\program files\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(81) : see declaration of 'vc_attributes::Pre'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(78): error C3094: 'repeatable': anonymous usage not allowed
1>          e:\programs\c++\raptor triangle 2\raptor triangle 2\predefined c++ attributes (compiler internal)(147) : see declaration of 'repeatable'
1>          attribute can only be applied to: 'class', 'struct'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(112): error C2011: 'vc_attributes::Post' : 'struct' type redefinition
1>          c:\program files\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(112) : see declaration of 'vc_attributes::Post'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(109): error C3094: 'repeatable': anonymous usage not allowed
1>          e:\programs\c++\raptor triangle 2\raptor triangle 2\predefined c++ attributes (compiler internal)(147) : see declaration of 'repeatable'
1>          attribute can only be applied to: 'class', 'struct'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(143): error C2011: 'vc_attributes::FormatString' : 'struct' type redefinition
1>          c:\program files\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(143) : see declaration of 'vc_attributes::FormatString'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(155): error C2011: 'vc_attributes::InvalidCheck' : 'struct' type redefinition
1>          c:\program files\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(155) : see declaration of 'vc_attributes::InvalidCheck'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(152): error C3094: 'repeatable': anonymous usage not allowed
1>          e:\programs\c++\raptor triangle 2\raptor triangle 2\predefined c++ attributes (compiler internal)(147) : see declaration of 'repeatable'
1>          attribute can only be applied to: 'class', 'struct'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(165): error C2011: 'vc_attributes::Success' : 'struct' type redefinition
1>          c:\program files\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(165) : see declaration of 'vc_attributes::Success'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(176): error C2011: 'vc_attributes::PreBound' : 'struct' type redefinition
1>          c:\program files\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(176) : see declaration of 'vc_attributes::PreBound'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(173): error C3094: 'repeatable': anonymous usage not allowed
1>          e:\programs\c++\raptor triangle 2\raptor triangle 2\predefined c++ attributes (compiler internal)(147) : see declaration of 'repeatable'
1>          attribute can only be applied to: 'class', 'struct'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(186): error C2011: 'vc_attributes::PostBound' : 'struct' type redefinition
1>          c:\program files\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(186) : see declaration of 'vc_attributes::PostBound'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(183): error C3094: 'repeatable': anonymous usage not allowed
1>          e:\programs\c++\raptor triangle 2\raptor triangle 2\predefined c++ attributes (compiler internal)(147) : see declaration of 'repeatable'
1>          attribute can only be applied to: 'class', 'struct'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(196): error C2011: 'vc_attributes::PreRange' : 'struct' type redefinition
1>          c:\program files\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(196) : see declaration of 'vc_attributes::PreRange'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(193): error C3094: 'repeatable': anonymous usage not allowed
1>          e:\programs\c++\raptor triangle 2\raptor triangle 2\predefined c++ attributes (compiler internal)(147) : see declaration of 'repeatable'
1>          attribute can only be applied to: 'class', 'struct'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(208): error C2011: 'vc_attributes::PostRange' : 'struct' type redefinition
1>          c:\program files\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(208) : see declaration of 'vc_attributes::PostRange'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(205): error C3094: 'repeatable': anonymous usage not allowed
1>          e:\programs\c++\raptor triangle 2\raptor triangle 2\predefined c++ attributes (compiler internal)(147) : see declaration of 'repeatable'
1>          attribute can only be applied to: 'class', 'struct'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(245): error C2370: 'SA_Yes' : redefinition; different storage class
1>          c:\program files\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(245) : see declaration of 'SA_Yes'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(246): error C2370: 'SA_No' : redefinition; different storage class
1>          c:\program files\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(246) : see declaration of 'SA_No'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(247): error C2370: 'SA_Maybe' : redefinition; different storage class
1>          c:\program files\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(247) : see declaration of 'SA_Maybe'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(250): error C2370: 'SA_NoAccess' : redefinition; different storage class
1>          c:\program files\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(250) : see declaration of 'SA_NoAccess'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(251): error C2370: 'SA_Read' : redefinition; different storage class
1>          c:\program files\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(251) : see declaration of 'SA_Read'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(252): error C2370: 'SA_Write' : redefinition; different storage class
1>          c:\program files\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(252) : see declaration of 'SA_Write'
1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(253): error C2370: 'SA_ReadWrite' : redefinition; different storage class
1>          c:\program files\microsoft visual studio 10.0\vc\include\codeanalysis\sourceannotations.h(253) : see declaration of 'SA_ReadWrite'
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

ヘルプ?ハハ。理解できません。エラーコードを調べましたが、どうすればよいかわかりませんでした。

また、必要に応じてコードを投稿できますが、かなり長いです。

編集:解決しましたが、理由がわかりません。Sleep() に必要な windows.h を含める行を削除しました。なぜそれが重要なのかはまだわかりません。

4

4 に答える 4

4

C2370 の別の原因は、定数を含むヘッダー ファイルの複数のコピーが存在する場合です。

その後、異なるプロジェクトが同じヘッダー ファイルの異なるコピーにアクセスし、'#pragma once' を壊して 'C2370 redefinition; を引き起こします。別のストレージ クラス」。

ファイルの重複が存在する一般的な理由は、グローバルにアクセス可能なまだ SDK が存在しているときに、開発者が依存ライブラリ ヘッダーのローカル コピーを作成する場合です。

于 2013-12-19T00:31:46.440 に答える
4

次のようにヘッダー ファイルを作成する必要があります。

#ifndef HEADERFILENAME_DEF
#define HEADERFILENAME_DEF

/* all declarations here */

#endif

これにより、ヘッダー ファイルの二重インクルードが防止されます。

于 2012-05-27T19:23:27.510 に答える
2

オブジェクト ファイルは古くなっている必要があります。クリーン ビルド (つまり、クリーン/ビルド) を試してください。windows.hそれとは何の関係もないはずです。

于 2012-05-27T19:33:01.147 に答える