VisualC++ - Fehler beim Kompilieren von Standard-Includes



  • hi leute
    (hat nicht viel mit MFC zu tun, aber immerhin mit VC)

    ich habe VisualStudio 6.0 installiert und mich voll über dieses coole Programm gefreut. aber bald (beim ersten kompilieren) hab ich gemerkt, dass noch irgendetwas nicht funktioniert.

    Temporäre Dateien und Ausgabedateien für "PathFinder - Win32 Debug" werden gelöscht.
    --------------------Konfiguration: PathFinder - Win32 Debug--------------------
    Ressourcen werden kompiliert...
    Kompilierung läuft...
    checkpoint.cpp
    c:\programme\microsoft visual studio\vc98\include\commctrl.h(28) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'HRESULT'
    c:\programme\microsoft visual studio\vc98\include\commctrl.h(28) : fatal error C1004: Unerwartetes Dateiende gefunden
    CHelpBox.cpp
    c:\programme\microsoft visual studio\vc98\include\commctrl.h(28) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'HRESULT'
    c:\programme\microsoft visual studio\vc98\include\commctrl.h(28) : fatal error C1004: Unerwartetes Dateiende gefunden
    CInfoBox.cpp
    c:\programme\microsoft visual studio\vc98\include\commctrl.h(28) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'HRESULT'
    c:\programme\microsoft visual studio\vc98\include\commctrl.h(28) : fatal error C1004: Unerwartetes Dateiende gefunden
    
    // und das ganze noch weitere 41 Mal, bei jeder .cpp-Datei meines Projekts
    
    Fehler beim Ausführen von cl.exe.
    
    PathFinder.exe - 44 Fehler, 0 Warnung(en)
    

    Ich hab dann ServicePack 5, nachher ServicePack 6 installiert
    -> gleiches Problem

    Dann hab ich mal die commctrl.h-datei vom MinGW-Compiler ins VC98-Verzeichnis kopiert
    -> kein Fehler mehr bei commctrl, dafür viele Fehler im gleichen Stil bei "PRSHT.H"

    Okeey, prsht.h auch vom MinGW "geklaut"
    -> gleiche Fehler bei prsht.h

    was kann ich tun? irgendwelche ideen?

    ] edit: Fehlermeldung aktualisiert



  • Kannst du vielleicht des Quelltext posten?

    ...fatal error C1004: Unerwartetes Dateiende gefunden...

    Sieht aus, als ob eine Klammer zu am Ende fehlt oder sowas

    Am besten den Quellcode aller betroffenen Dateien posten....

    Nur so ne Idee 🙂 , weil

    ...was kann ich tun? irgendwelche ideen?...



  • commctrl.h

    #ifndef _HRESULT_DEFINED
    #define _HRESULT_DEFINED
    typedef LONG HRESULT;         //Zeile 28
    #endif // _HRESULT_DEFINED
    

    aber:
    1. ist dies meines erachtens korrekt und
    2. gehört "commctrl.h" zur standard bibliothek.. ( 😞 )

    wo finde ich alle Header-Dateien zum Download?



  • Der Fehler liegt nicht an dem Header sondern an deinem Code, also Poste mal dein Quellcode wo du diesen verwendest (direkt oder indirekt).



  • nein, mein code ist voll in ordnung, zumindest laut MinGW-Compiler. Mit Dev-C++ 4.9.9.1 kompiliere ich das Projekt problemlos.

    Ich hab jetzt oben die Fehlermeldung aktualisiert, vorher hat irgendwas mit ner .ds..-datei nicht gestimmt.

    woher weisst du, dass der fehler in meinem code liegt? okee.. man sollte vielleicht davon ausgehen können, dass die standard-header korrekt sind, aber man weiss ja nie.. für MinGW kommen ja auch alle paar monate neue headers heraus..

    andere frage:

    Die Datei "d:\...\edge.h" konnte nicht kompiliert werden; die Dateierweiterung ist keinem Kompiliertungstool zugeordnet.
    

    [Fehlermeldung beim Kompilieren einer einzelnen Header-Datei]
    ist es irgendwie so, dass Headers gar nicht kompiliert werden?

    ] edit: "andere frage" angefügt



  • Ich musste nur die include Anweisungen
    #include <windows.h> und #include <commctrl.h> tauschen.
    Damit sie so unntereinander stehen:
    #include <windows.h>
    #include <commctrl.h>

    Vorher hatte ich das umgekehrt was zu der Fehlermeldung führte.



  • Entschuldigt Leute wenn ich den Thread mal wieder ins Tageslicht stelle, aber ich habe/hatte das gleiche Problem.

    Ich habe mir meine Datei stdafx.h geniert und bekomme je nach Include Reihenfolge unterschiedliche Fehler in unterschiedlichen Dateien (functional, OCIdl.h, d3d9.h, xstddef).

    Das Rätsels Lösung war der zwangsweise Umstieg auf das neue Visual Studio. Dort kompiliert der Code ohne Probleme durch.

    Aber interresant ist das Problem.


Anmelden zum Antworten