Probleme bei Dev-Cpp und DirectX
-
Hy,
ich möchte folgenden Code kompilieren:#include <windows.h> #include <StdIO.h> #include <D3D9.h> int g_iNumAdapters; D3DADAPTER_IDENTIFIER9* g_pAdapters; PDIRECT3D9 g_pD3D = NULL; int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, char* pcCmdLine, int iShowCmd) { char acAdapterInfo[1024]; g_pD3D = Direct3DCreate9(D3D_SDK_VERSION); if(g_pD3D == NULL) { MessageBox(NULL, "Fehler!", "Fehler", MB_OK | MB_ICONEXCLAMATION); return 1; } g_iNumAdapters = g_pD3D->GetAdapterCount(); g_pAdapters = new D3DADAPTER_IDENTIFIER9[g_iNumAdapters]; for(int iAdapter = 0; iAdapter < g_iNumAdapters; iAdapter++) { if(FAILED(g_pD3D->GetAdapterIdentifier(iAdapter, 0, &g_pAdapters[iAdapter]))) { MessageBox(NULL, "Fehler!", "Fehler", MB_OK | MB_ICONEXCLAMATION); g_pD3D->Release(); delete[] g_pAdapters; return 1; } sprintf(acAdapterInfo, "Adapter-ID: %d\n Name: %s\n Treiber: %s\n Treiberversion: %d", iAdapter, g_pAdapters[iAdapter].Description, g_pAdapters[iAdapter].Driver, g_pAdapters[iAdapter].DriverVersion); } g_pD3D->Release(); delete[] g_pAdapters; return 0; }
, aber ich krieg immer diesen Fehler:
[Linker error] undefined reference to `Direct3DCreate9@4'
Ich hab' die DX SDK normal eingestellt und d3d9 gelinkt.
Wo liegt der Fehler?
-
Hey, ich hab denselben Fehler wie du! Benutz DevC++ 4.9.80!
Hast du auch das Buch "Modernes Game-Design...."?
Bin genau so wie du an derselben Stelle hängen geblieben. Leider fand ich keine Lösung und bin momentan noch auf der Suche.
Meinst du es liegt am DevC++? Gelinkt hab ich auch alles richtig, aber es klappt einfach nicht! Wäre nett, wenn du mir antworten könntest, wenn du ne Lösung hast!
-
Der letzte Post ist zwar fast ein Jahr alt, aber was soll's
Ich habe genau das gleiche Problem. Vermute es liegt an einer fehlenden LIB. Wenn ich im VisualSdutio die LIB d3d9.lib einbinde geht's da. Aber bei Dev-Cpp gibt's keine Linker-Einstellungen, wo man die LIBs eintragen kann (oder ich finde einfach keine). Ach ja, das DX9-Pack habe ich installiert. Aber ich habe keine Ahnung wo jetzt die LIBs sind. Hoffe mir kann jemand helfen.
mfg Christkind
(und schönen ersten Weihnachtstag btw.)
-
Okay, war eigentlich garnicht so schwer. Also für alle, die das gleiche Problem haben/hatten oder haben werden:
Bei der Meldung da oben, muss man sich erstmal das Dev-DirectX9-Package runterladen. Das geht am bequemsten über "Werkzeuge" -> "auf Updates/Pakete prüfen". Wenn man sich dieses DirectX-Package dann runtergeladen hat, installiert man es sich.Danach geht man zu den Projekt Optionen des DirectX-Projektes. Dort klickt man oben auf "Parameter" und dann auf "Bibliothek/Objekt hinzufügen". Jetzt sucht man sich die Datei "libd3d9.a". Sie befindet sich im Verzeichnis '*Dev-Cpp\lib*'. So, wenn die LIB eingebunden ist, klickt man noch auf den netten "OK"-Button
und schon bekommt man beim Kompilieren keine Fehlermeldung mehr. Naja, zumindest bekommt die oben genannte Fehlermeldung nicht mehr.
Hoffe ich konnte jemandem damit helfen.
mfg Christkind
-
Christkind schrieb:
Das geht am bequemsten über "Werkzeuge" -> "auf Updates/Pakete prüfen". Wenn man sich dieses DirectX-Package dann runtergeladen hat, installiert man es sich.
Ich finde da leider kein DirectX Package
-
ui. nach anderem update und neustarten ist es plötzlich dabei. ok mal testen