Fatal Error: C1010: Unerwartetes Dateiende während der Suche nach Direktive...
-
Hi
ich hab mir eine Win32-Anwendung gemacht. Ich hab ein bisschen rumgeproggt, und alles hat ganz gut geklappt
doch dann:
ich hab dann 2 Dateien erstellt: Addt.h und Addt.cpp
und das steht da drinnen:Addt.h
struct TPoint { int X; int Y; }; TPoint Point(int X, int Y);
Addt.cpp
#include "Addt.h" TPoint Point(int X, int Y) { TPoint result; result.X = X; result.Y = Y; return result; }
Wenn ich nun das Projekt kompilieren will, bringt er mir folgende Fehlermeldung:
Fatal Error: C1010: Unerwartetes Dateiende während der Suche nach Direktive für die vorkompilierte Header-DateiIch hab mir die Hilfe dazu durchgelesen, was mich aber auch nicht weitergebracht hat.
Was mach ich falsch?
-
Wenn ich ein unerwartetes Dateiende bekomme, fehlt meist ein Semikolon in einer Header Datei und sowas. Der Code sieht korrekt aus. Könntest die Vorcompilierten Header mal abschalten (Projekteigenschaften).
Grüsse.
-
wo find ich die Enstellung?
Ich kann sie nirgends finden, auch nicht unter Projekt->Einstellungen!
-
Rechtsklick auf die cpp-datei in der die Meldung kommt (Addt.cpp in deinem Fall). -> C++ -> Vorkompilierte Header
-
Bei mir kommt das auch, und zwar wenn ich die iostream integriere.
Da funktioniert das mit dem /yu abschalten nich so ganz...
Was kann ich machen?
-
Ich habe das gleiche Problem mit einem MFC Dialog. Ich habe die stdafx.h includiert mit
#include "stdafx.h"
bekomme aber trotzdem die Fehlermeldung
fatal error C1010: Unerwartetes Dateiende waehrend der Suche nach der Direktive für die vorkompilierte Headerdatei
Wenn ich die vorkompilierten Headerdateien ausstelle funktioniert es leider auch nicht und es kommt:
fatal error C1189: #Fehler : include 'stdafx.h' before including this file for PCH
Was kann denn noch der Fehler sein?
-
plizer schrieb:
Ich habe das gleiche Problem mit einem MFC Dialog. Ich habe die stdafx.h includiert mit
#include "stdafx.h"
Steht dies auch an erster Stelle in der cpp-Datei?
-
Hab ich ihm heute gerade erst hier gesagt...
Ganz davon abgesehen, das es in der Fehlermeldung auch nochmal drin steht:
fatal error C1189: #Fehler : include 'stdafx.h' before including this file for PCH
-
Macht mal ein Clean/Bereinigen des Projektes oder Projektmappe (wenn man wichtige Projekteinstellungen ändert, ist das meistens zu empfehlen). Und inkludiert den Header jeweils als erstes. Beispiel:
#include <iostream> int foo().... usw.
Wird zu:
#include "stdafx.h" #include <iostream> int foo().... usw.
und NICHT zu:
#include <iostream> #include "stdafx.h" int foo().... usw.
Ist ja nicht wirklich schwer, oder?
Wichtig: das gehört in jede cpp-Datei des Projektes, in dem PCH aktiv ist. (was auch zu empfehlen ist!) Und noch was: das stdafx.h-Inlclude gehört NICHT in Header-Dateien!