Guten abend, kurze Frage nochmal zu dem Fehler:
|
Quellcode
|
1
|
1>Direct3DEnum.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_Direct3DCreate9@4" in Funktion ""enum tbResult __cdecl GetDirect3DParameters(struct SDirect3DParameters *)" (?GetDirect3DParameters@@YA?AW4tbResult@@PAUSDirect3DParameters@@@Z)".
|
Der Fehler bedeutet doch das in Direct3DEnum.h/.cpp eine Funktion Direct3DCreate9 aufgerufen wird die einen Verweis auf ein externes Element enthält welches nicht verlinkt wurde.
Man kann vermuten das vlt. *.lib Datein fehlen gerade die zu DX9 gehören.
Aber unter:
Projekt-Eigenschaften-linker Eingabe sind:
zusätzlich:d3d9.lib
dxerr9.lib
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comctl32.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
und geerbt:
kernel32.lib
user32.lib
gdi32.lib
winspool.lib
comdlg32.lib
advapi32.lib
shell32.lib
ole32.lib
oleaut32.lib
uuid.lib
odbc32.lib
odbccp32.lib
Die doppelten werde ich dann gleich noch entfernen. Man sieht d3d9.lib
dxerr9.lib sind beide enthalten.
unter Optionen:
VC++ Verzeichnisse sind folgende Verleinkt:
Ausführbare:
C:\Program Files (x86)\Microsoft DirectX SDK (March 200
\Utilities\Bin\x64
C:\Program Files (x86)\Microsoft DirectX 9.0 SDK (Summer 2004)\Utilities\x64
Include:
C:\Program Files (x86)\Microsoft DirectX SDK (March 200
\Include
C:\Program Files (x86)\Microsoft DirectX 9.0 SDK (Summer 2004)\Include
Bibliotheken:
C:\Program Files (x86)\Microsoft DirectX SDK (March 200
\Lib\x64
C:\Program Files (x86)\Microsoft DirectX 9.0 SDK (Summer 2004)\Lib
Bezogen auf DX9 müßte doch alles gelinkt sein oder?
In der tribase.h habe ich die Libs noch so eingebunden:
|
C-/C++-Quelltext
|
1
2
|
#pragma comment (lib, "DxErr9.lib")
#pragma comment(lib, "d3d9.lib")
|
wo kann ich noch guggn?
Axo, wenn ich die schnittstelle erzeuge,
|
C-/C++-Quelltext
|
1
2
|
// Globale IDirect3D9-Schnittstelle erzeugen
g_pD3D = Direct3DCreate9(D3D_SDK_VERSION);
|
stehen mit unter g_pD3D alle funktionen zur verfügung -.- also deklaration steht ja.