ID3DXFONT



  • Ich erhalte immer wieder folgenden Fehler.

    font.obj : error LNK2028: unresolved token (0A0002D9) "extern "C" long __stdcall
     [b]D3DXCreateFontA[/b](struct IDirect3DDevice9 *,int,unsigned int,unsigned int,
    unsigned int,int,unsigned long,unsigned long,unsigned long,unsigned long,char
     const *,struct ID3DXFont * *)" (?
    D3DXCreateFontA@@$$J248YGJPAUIDirect3DDevice9@@HIIIHKKKKPBDPAPAUID3DXFont@@@Z)
     referenced in function "public: __thiscall dus::Font::Font(class std::
    basic_string<char,struct std::char_traits<char>,class std::allocator<char> > 
    const &,int,int,unsigned long)" (??0Font@dus@@$$FQAE@ABV?$basic_string@DU?
    $char_traits@D@std@@V?$allocator@D@2@@std@@HHK@Z)
    

    Ich versuche schon seit geraumer Zeit, Fonts mittels DirectX einzusetzen. Aber irgendwie kennt der Linker die Funktion D3DXCreateFont nicht. Früher ging es doch. Hat sich in den neuen DirectX SDK-Versionen so viel getan? Wo bleibt die Abwärtskompatibilität? Wie verwende ich denn Fonts in DirectX denn jetzt?

    Ich habe die neueste SDK-Version drauf. Libs sind eingebunden. Alles andere funktioniert einwandfrei, nur eben diese Fonts nicht. Was muss ich ändern?



  • du hast wahrscheinlich net die richtige lib eingebunden 😉



  • Also nach der MSDN zu urteilen müsste ich nur die d3dx9.lib einbinden:

    http://msdn.microsoft.com/archive/default.asp?url=/archive/en-us/directx9_c/directx/graphics/reference/d3dx/functions/miscellaneous/d3dxcreatefont.asp

    Die habe ich aber eingebunden. Zur Info: Ich benutze Visual C++ 2005 Express Edition sowie das DirectX SDK - Februar 2006.

    Woran kann die o. gen. Fehlermeldung noch liegen. Hat Microsoft im Font-Bereich gravierende Änderungen vorgenommen? Oder sehe ich den Wald vor lauter Bäumen nicht?

    Dank im voraus
    BigBoomer



  • Von Version 9.0b auf 9.0c (also vor 1,5 Jahren) haben sich die Font- und Sprite-Interfaces auf jeden Fall leicht verändert.



  • Dann kriegt man aber Compiler und keine Linkerfehler.

    Bye, TGGC (Fakten)



  • Es sei denn man haut sich aus dem neuen SDK das include-Verzeichnis rüber, die libs nutzt man aber weiterhin vom alten... 🤡

    Bzw. umgekehrt vielmehr... 🙂



  • TGGC schrieb:

    Dann kriegt man aber Compiler und keine Linkerfehler.

    Wenn die Header nicht zur Lib passen, nicht (ist mir selber mal so gegangen, daß ich versehentlich den DirectX 8 Header mit einer älteren Lib zusammenbauen wollte - da sucht man sich dumm und dämlich, nur sich da ein Parametertyp geändert hat).


Anmelden zum Antworten