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-Datei

    Ich 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!


Anmelden zum Antworten