DirectX: H-Dateien werden nicht gefunden?



  • sothis_ schrieb:

    directx sdk installiert?

    Nichts95 schrieb:

    Ja.

    Also wenn Deine Antwort stimmt, hast Du das DirectX SDK ja schon installiert - wo, kannst nur Du wissen... bist Du ganz sicher?

    Such doch einfach mal bei Dir auf dem Rechner nach *.h Dateien und folgere daraus, wo Du das DirectX SDK installiert hast.

    (Nur so zur Sicherheit, DirectX SDK: http://www.microsoft.com/downloads/details.aspx?FamilyId=572BE8A6-263A-4424-A7FE-69CFF1A5B180&displaylang=en)



  • Also bei der SDK habe ich etwas verwechselt, naja, egal, habe sie jetzt garantiert installiert^^ Jetzt kommen allerdings über 200 Fehler... Bevor ich die Fehler bekommen habe habe ich erstmal die entsprechenden h-Dateien kopiert und dann einfach ins Verzeichnis vom Projekt kopiert. Das Problem war dass die Dateinamen von der DirectX SDK etwas anders waren, so z. B. #include "d3dcaps.h" musste ich in #include "d3d9caps.h" ändern. Als ich dann alle H-Einträge geändert habe kamen die ganzen Fehler... Ich vermute mal dass diese warscheinlich nur an einem Problem liegen weshalb ich nur die ersten Fehlermeldungen poste:

    1>c:\dokumente und einstellungen\...\eigene dateien\visual studio 2008\projects\ultris\v12\d3d.h(10) : warning C4068: Unbekanntes Pragma
    1>c:\dokumente und einstellungen\...\eigene dateien\visual studio 2008\projects\ultris\v12\d3d.h(209) : error C2061: Syntaxfehler: Bezeichner 'LPD3DENUMDEVICESCALLBACK'
    1>c:\dokumente und einstellungen\...\eigene dateien\visual studio 2008\projects\ultris\v12\d3d.h(213) : error C2061: Syntaxfehler: Bezeichner 'LPD3DFINDDEVICESEARCH'
    1>c:\dokumente und einstellungen\...\eigene dateien\visual studio 2008\projects\ultris\v12\d3d.h(252) : error C2061: Syntaxfehler: Bezeichner 'LPD3DENUMDEVICESCALLBACK'
    1>c:\dokumente und einstellungen\...\eigene dateien\visual studio 2008\projects\ultris\v12\d3d.h(256) : error C2061: Syntaxfehler: Bezeichner 'LPD3DFINDDEVICESEARCH'
    1>c:\dokumente und einstellungen\...\eigene dateien\visual studio 2008\projects\ultris\v12\d3d.h(297) : error C2061: Syntaxfehler: Bezeichner 'LPD3DENUMDEVICESCALLBACK'
    1>c:\dokumente und einstellungen\...\eigene dateien\visual studio 2008\projects\ultris\v12\d3d.h(301) : error C2061: Syntaxfehler: Bezeichner 'LPD3DFINDDEVICESEARCH'
    1>c:\dokumente und einstellungen\...\eigene dateien\visual studio 2008\projects\ultris\v12\d3d.h(303) : error C2061: Syntaxfehler: Bezeichner 'LPD3DVERTEXBUFFERDESC'
    1>c:\dokumente und einstellungen\...\eigene dateien\visual studio 2008\projects\ultris\v12\d3d.h(304) : error C2061: Syntaxfehler: Bezeichner 'LPD3DENUMPIXELFORMATSCALLBACK'
    1>c:\dokumente und einstellungen\...\eigene dateien\visual studio 2008\projects\ultris\v12\d3d.h(351) : error C2061: Syntaxfehler: Bezeichner 'LPD3DENUMDEVICESCALLBACK7'
    1>c:\dokumente und einstellungen\...\eigene dateien\visual studio 2008\projects\ultris\v12\d3d.h(353) : error C2061: Syntaxfehler: Bezeichner 'LPD3DVERTEXBUFFERDESC'
    1>c:\dokumente und einstellungen\...\eigene dateien\visual studio 2008\projects\ultris\v12\d3d.h(354) : error C2061: Syntaxfehler: Bezeichner 'LPD3DENUMPIXELFORMATSCALLBACK'
    1>c:\dokumente und einstellungen\...\eigene dateien\visual studio 2008\projects\ultris\v12\d3d.h(394) : error C2061: Syntaxfehler: Bezeichner 'LPD3DDEVICEDESC'
    ...



  • Bevor ich die Fehler bekommen habe habe ich erstmal die entsprechenden h-Dateien kopiert und dann einfach ins Verzeichnis vom Projekt kopiert.

    WAAA???

    Das Problem war dass die Dateinamen von der DirectX SDK etwas anders waren, so z. B. #include "d3dcaps.h" musste ich in #include "d3d9caps.h" ändern.

    WAAAA?

    Einfache Antwort: mach sowas nicht, und setz include verzeichnisse. wenn auch nur eine header datei einen relativen Pfad includiert, bist du im eimer, vorallem bei dateinamen.



  • guck dir nochmal meinen vorletzten post an. dort musst du die unveränderten dateien einbinden. du solltest alle deine änderungen rückgängig machen und es auf die "normale" art und weise vesuchen..

    ach ja, du musst keinerlei dateien in dein projektverzeichnis kopieren. durch das einbinden der include, bin und lib dateien aus den jeweiligen verzeichnissen (plattform sdk, directx sdk) kann deine anwendung auch darauf zugreifen.



  • Ok, habe jetzt alles "rückgängig" gemacht. Mein Problem ist jedoch dass er die ihm fehlenden Dateien immer noch nicht findet! Ich habe bei VC++-Verzeichnisse unter Includedateien C:\Programme\Microsoft DirectX SDK (March 2008)\Include angegeben und unter Bilbotheksdateien C:\Programme\Microsoft DirectX SDK (March 2008)\Lib eingegeben. Dcoh er schreibt mir weiterhin dass ihm die H-Datei(en) fehlt/fehlen... (ich habe mal im Explorer den Ordner Include im DirectX SDK Verzeichnis angeguckt und da ist auch keine 3d3.h! Wenn dann ist da eine 3d39.h...)



  • Ich rate Dir, DirectX nochmal zu deinstallieren und wieder neu zu installieren. Wahrscheinlich hast Du mit Deinen Umbenennungen die d3d.h überschrieben oder so... die d3d.h muss jedenfalls im Paket dabei sein.
    Danach alles (PSDK und DXSDK - include, bin und lib) neu einbinden und eventuell nochmal posten, was noch fehlt oder falsch ist.

    ..meiner Meinung nach 🙂



  • Ich habe die d3d.h nie umbenannt. Naja, ich habe es auf jeden Fall nochmal installiert und ihm fehlt wieder die d3d.h 🙄 Wie gesagt, im Explorerer finde ich keine d3d.h sondern nur eine d3d9.h .



  • hm.. also ich bin mir nicht sicher, installiere das ja auch nicht täglich, aber vielleicht solltest du mal eine frühere version installieren. zB die vom august 2007:

    http://www.microsoft.com/downloads/details.aspx?familyid=529f03be-1339-48c4-bd5a-8506e5acf571&displaylang=en

    also die aktuellste version runterschmeißen und die "alte" draufziehen..

    ..da sollte die datei drin sein, wenn nicht, weiß ich auch nicht mehr weiter 😕



  • iop schrieb:

    also die aktuellste version runterschmeißen und die "alte" draufziehen..

    Dazu muss er aber nicht die aktuelle Version deinstallieren.



  • So, jetzt klappts endlich, Danke! (Aufjedenfall mit dem DirectX SDK :P)


Anmelden zum Antworten