2009-08-12 11 views
0

Ich habe eine C++ - Konsole App, die gerade gut gemacht hat und auf sauber machen begann Compiler-Fehler zu werfen. Offensichtlich habe ich etwas neu definiert oder weggelassen, aber ich bin mir nicht sicher was.vs 2008 623 Compiler Fehler

 
------ Rebuild All started: Project: alpineProbe, Configuration: Release Win32 ------ 
Deleting intermediate and output files for project 'abc', configuration 'Release|Win32' 
Compiling... 
wmiTest.cpp 
C:\Program Files\Microsoft Visual Studio 9.0\VC\include\excpt.h(60) : error C2065: '_$notnull' : undeclared identifier 
C:\Program Files\Microsoft Visual Studio 9.0\VC\include\excpt.h(60) : error C3861: '_Pre1_impl_': identifier not found 
C:\Program Files\Microsoft Visual Studio 9.0\VC\include\excpt.h(60) : error C2146: syntax error : missing ')' before identifier '_Deref_pre2_impl_' 
C:\Program Files\Microsoft Visual Studio 9.0\VC\include\excpt.h(60) : warning C4229: anachronism used : modifiers on data are ignored 
C:\Program Files\Microsoft Visual Studio 9.0\VC\include\excpt.h(64) : error C2059: syntax error : ')' 
C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(94) : error C2144: syntax error : 'int' should be preceded by ';' 
C:\Program Files\Microsoft Visual Studio 9.0\VC\include\ctype.h(94) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 

Ich bin sicher, es ist etwas offensichtlich, aber ich sehe es nicht. Eine andere Sache, ich lud das Projekt von einer Sicherheitskopie neu.

Edit:

Verwendung von/showIncludes wie von Michael Burr vorgeschlagen ergibt sich folgendes:

 
1>Note: including file: c:\development\alpineaccess\final\Tokenizer.h 
1>Note: including file: c:\development\alpineaccess\final\testFunctions.h 
1>Note: including file: c:\development\alpineaccess\final\curl/curl.h 
1>Note: including file: c:\development\alpineaccess\final\curl\curlver.h 
1>Note: including file: C:\Program Files\Microsoft Visual Studio 9.0\VC\include\stdio.h 
1>Note: including file:  C:\Program Files\Microsoft Visual Studio 9.0\VC\include\crtdefs.h 
1>Note: including file:  C:\Program Files\Microsoft Visual Studio 9.0\VC\include\sal.h 
1>Note: including file:  c:\program files\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h 
1>Note: including file:  C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\windows.h 
1>Note: including file:   C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\sdkddkver.h 
1>Note: including file:   C:\Program Files\Microsoft Visual Studio 9.0\VC\include\excpt.h 
1>Note: including file:   C:\Program Files\Microsoft Visual Studio 9.0\VC\include\crtdefs.h 

Beachten Sie, dass es über sourceannotations.h eine zirkuläre Referenz ist. Ich sehe, was das Problem ist, aber habe keine Ahnung, wie es zu beheben ist.

Antwort

2

Es gefunden. Danke an Michael Burr und seinem Vorschlag,/showIncludes zu verwenden.

Das Problem war, dass die Datei \ CodeAnalysis \ sourceannotations.h in der C++ - Installation verunstaltet worden war. Neuinstallation sollte es beheben.

Danke für die Hilfe

2

Ich denke, Sie haben vergessen, SAL.h oder eine seiner Abhängigkeiten irgendwo entlang der Linie zu integrieren. Alle Fehlermeldungen, die Sie sehen, liegen daran, dass SAL-Anmerkungen in der Header-Datei nicht ordnungsgemäß verarbeitet werden.

4

JaredPar's answer hat etwas damit zu tun, aber man sollte sich nicht sal.h enthalten müssen - etwas das falsche sal.h verursacht, abgeholt werden (oder eine andere falsche Header). <sal.h> sollte von <crtdefs.h> enthalten sein, die in den Standardheadern enthalten ist, aber eindeutig wird die richtige nicht aus irgendeinem Grund abgeholt.

Verwenden Sie die Option "/showIncludes" ("Konfigurationseigenschaften/C/C++/Erweitert/Einschließen" in den IDE-Projektoptionen), um zu sehen, welche Header von wo aufgenommen werden.