Nicht aufgelöstes Token
-
Ich probiere mich gerade in der DirectX Programmierung, und wollte erstmal ein Mini Testprogramm schreiben, um zu prüfen ob ich das SDK korrekt installiert habe. der Code, der dabei herausgekommen ist ist:
#include <Windows.h> #include <StdIO.h> #include <D3D9.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE prevInstance, char* pcCmdLine, int iShowCmd) { PDIRECT3D9 pD3D = Direct3DCreate9(D3D_SDK_VERSION); if (!pD3D) { MessageBox(NULL, (LPCTSTR) "Fehler beim erzeugen der DirectX9-Schnittstelle!", (LPCTSTR) "Fehler", MB_OK | MB_ICONEXCLAMATION ) ; return 1; } return 0; }
Ich bin mir zimlich sichr den Lib-Pfad richtig angegeben zu haben, bekomme allerdings Folgende Fehler:
main.obj : error LNK2028: Nicht aufgelöstes Token (0A00001A) ""extern "C" struct IDirect3D9 * __stdcall Direct3DCreate9(unsigned int)" (?Direct3DCreate9@@$$J14YGPAUIDirect3D9@@I@Z)", auf das in Funktion ""extern "C" int __stdcall WinMain(struct HINSTANCE__ *,struct HINSTANCE__ *,char *,int)" (?WinMain@@$$J216YGHPAUHINSTANCE__@@0PADH@Z)" verwiesen wird.
main.obj : error LNK2028: Nicht aufgelöstes Token (0A000035) ""extern "C" int __stdcall MessageBoxW(struct HWND__ *,wchar_t const *,wchar_t const *,unsigned int)" (?MessageBoxW@@$$J216YGHPAUHWND__@@PB_W1I@Z)", auf das in Funktion ""extern "C" int __cdecl MessageBox(struct HWND__ *,wchar_t const *,wchar_t const *,unsigned int)" (?MessageBox@@$$J0YAHPAUHWND__@@PB_W1I@Z)" verwiesen wird.
main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""extern "C" int __stdcall MessageBoxW(struct HWND__ *,wchar_t const *,wchar_t const *,unsigned int)" (?MessageBoxW@@$$J216YGHPAUHWND__@@PB_W1I@Z)" in Funktion ""extern "C" int __cdecl MessageBox(struct HWND__ *,wchar_t const *,wchar_t const *,unsigned int)" (?MessageBox@@$$J0YAHPAUHWND__@@PB_W1I@Z)".
main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""extern "C" struct IDirect3D9 * __stdcall Direct3DCreate9(unsigned int)" (?Direct3DCreate9@@$$J14YGPAUIDirect3D9@@I@Z)" in Funktion ""extern "C" int __stdcall WinMain(struct HINSTANCE__ *,struct HINSTANCE__ *,char *,int)" (?WinMain@@$$J216YGHPAUHINSTANCE__@@0PADH@Z)".Habe aber keine Ahnung, was falsch seien könnte.
-
die entsprechenden libs linken etc. etc. usw.
-
Alles schon gemacht.
-
halt ich fürn gerücht
-
Ich nicht. Hier was bei Dev-C++ (hab VC++ nur zum testen verwendet) unter Projekt Optionen->Parameter->Linker steht:
"../../../../Programme/Microsoft DirectX SDK (November 2007)/Lib/x86/d3d9.lib"
"../../../../Programme/Microsoft DirectX SDK (November 2007)/Lib/x86/d3d10.lib"
"../../../../Programme/Microsoft DirectX SDK (November 2007)/Lib/x86/d3d10_1.lib"
"../../../../Programme/Microsoft DirectX SDK (November 2007)/Lib/x86/d3d10_1d.lib"
"../../../../Programme/Microsoft DirectX SDK (November 2007)/Lib/x86/d3dx9.lib"
"../../../../Programme/Microsoft DirectX SDK (November 2007)/Lib/x86/d3dx9d.lib"
"../../../../Programme/Microsoft DirectX SDK (November 2007)/Lib/x86/d3dx10.lib"
"../../../../Programme/Microsoft DirectX SDK (November 2007)/Lib/x86/d3dx10d.lib"
"../../../../Programme/Microsoft DirectX SDK (November 2007)/Lib/x86/d3dxof.lib"
"../../../../Programme/Microsoft DirectX SDK (November 2007)/Lib/x86/ddraw.lib"
"../../../../Programme/Microsoft DirectX SDK (November 2007)/Lib/x86/dinput8.lib"
"../../../../Programme/Microsoft DirectX SDK (November 2007)/Lib/x86/dsetup.lib"
"../../../../Programme/Microsoft DirectX SDK (November 2007)/Lib/x86/dsound.lib"
"../../../../Programme/Microsoft DirectX SDK (November 2007)/Lib/x86/DxErr9.lib"
"../../../../Programme/Microsoft DirectX SDK (November 2007)/Lib/x86/DxErr.lib"
"../../../../Programme/Microsoft DirectX SDK (November 2007)/Lib/x86/dxgi.lib"
"../../../../Programme/Microsoft DirectX SDK (November 2007)/Lib/x86/dxguid.lib"
"../../../../Programme/Microsoft DirectX SDK (November 2007)/Lib/x86/X3DAudio.lib"
"../../../../Programme/Microsoft DirectX SDK (November 2007)/Lib/x86/XInput.lib"Und unter Verzeichnisse->Bibliotheks-Verzeichnisse nochmal:
C:\Programme\Microsoft DirectX SDK (November 2007)\Lib\x86
(Und JA, die relativen Pfadangaben stimmen auch!)
-
Ascda ist nur ein dummer Troll. Nimm seine Beiträge nicht ernst.
-
bin zwar manchmal ein troll, aber kein dummer. und ich hab dem OP die antwort auf sein problem gegeben, also was willste von mir du n00b?
-
asdca schrieb:
bin zwar manchmal ein troll, aber kein dummer.
#ifdef __cplusplus extern "C" { #endif // Ja sowas! Wie heiße ich nochmal für den Linker ? // Und warum fehlt eine .lib? #ifdef __cplusplus } #endif