[DUSFramework] Compiler vs. Dokumentation



  • Hallo,

    ich versuche mich gerade am DUS-Framework, aber schon das Kompilieren klappt nicht. 😞
    Hab mir von spieleprogrammierer.de das Framework runtergeladen. Danach die August-Version des SDKs. Schön istalliert. Dann hab ich versucht, den Beipsielkode zu kompilieren und das funzt nicht!

    Fehler liegt in der Font-Klasse. Da sind DX-Datentypen und Schnittstellen unbekannt. Aber der findet die DX-Header... 😮
    Die Doku zum SDK kennt aber die verwendeten Typen/Schnittstellen.

    Hier die Fehlermeldungen:

    Kompilieren...
    font.cpp
    j:\lang\dus\DUSProjekte\Framework\font.h(68) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'fontDesc'
    j:\lang\dus\DUSProjekte\Framework\font.h(68) : error C2501: 'dus::Font::D3DXFONT_DESC': Fehlende Speicherklasse oder Typspezifizierer
    j:\lang\dus\DUSProjekte\Framework\font.h(68) : error C2501: 'dus::Font::fontDesc': Fehlende Speicherklasse oder Typspezifizierer
    j:\lang\dus\DUSProjekte\Framework\font.cpp(51) : error C2660: 'D3DXCreateFont': Funktion akzeptiert keine 12 Argumente
    j:\lang\dus\DUSProjekte\Framework\font.cpp(55) : error C2039: 'GetDesc': Ist kein Element von 'ID3DXFont'
    j:\lang\dus\DUSProjekte\include\d3dx9core.h(126): Siehe Deklaration von 'ID3DXFont'
    j:\lang\dus\DUSProjekte\Framework\font.cpp(55) : error C2065: 'fontDesc': nichtdeklarierter Bezeichner
    j:\lang\dus\DUSProjekte\Framework\font.cpp(89) : error C2660: 'ID3DXFont::DrawTextA': Funktion akzeptiert keine 6 Argumente
    j:\lang\dus\DUSProjekte\Framework\font.cpp(105) : error C2660: 'ID3DXFont::DrawTextA': Funktion akzeptiert keine 6 Argumente

    Hat jemand einen Ansatz???

    Danke,
    don_basto.

    // Edit
    Hab folgenden Bugfix gefunden: http://spieleprogrammierer.de/phpBB2/viewtopic.php?t=3493&postdays=0&postorder=asc&start=60
    Aber keine Erklärung, denn laut Doku sollte es ja funzen.

    // Edit #2
    Hab's ohne Bugfix auch hinbekommen. 😃
    Hab ein bissl in SDK-Verzeichnissen rumgestöbert und bin in Utilities\bin\ auf eine dx_setenv.cmd gestossen. Nachdem ich die ausgeführt hab, tut's laufen.
    Falls jemand eine Erklärung hat, bitte trotzdem posten. 🙂



  • Steht doch in dem geposteten Beitrag:

    Misverständnis:

    Meine Version ist älter als die von dir verwendete.

    Die Funktionen ändern sich nunmal von mal zu mal, besonders bei den Fonts mußte ich auch was rumtricksen von 9.0b auf 9.0c.

    Betreff dem 2. Problem: Hast wohl scheinbar ein anderes DXSDK noch in den Include-Pfaden oder zumindest alte Header beim Compiler.



  • Mit Sicherheit hast du de richtigen DXSDK Verzeichnisse nicht eingetragen. Man würde sich wünschen die Leute würde lesen, was so seit Jahren erzählt wird.

    Bye, TGGC (Das Jahr des Helden)



  • Ist der zweite Anlauf, bei dem ich mich an DirectX versuche, deswegen diese Fragen.

    // EDIT
    Hab den Fehler gefunden. 🙄
    Das Projekt hab ich von einem alten System mitgenommen. Die DX-Header(alte 9er Version) waren mit im Projektverzeichnis, deswegen kann der Compiler die neuen installierten Header nicht kennen. Geklappt hat's dann auch erst, als ich ein neues Projekt mit demselben Kode aufgemacht habe.

    Danke für die Antworten,
    don_basto.


Anmelden zum Antworten