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:
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).