Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

09.05.2008, 14:49

DirectX Projekt funktioniert nicht mehr

Hallo,

es geht nicht direkt um das Buch, sondern eher um eine allgemeine Frage (aber auch um DirectX).

Ich hatte auf meinem Desktop-Computer ein - naja - Spiel programmiert. Es hat alles funktioniert. Seit ein paar Tagen habe ich jetzt ein Notebook mit Windows Vista. Ich habe das DirectX March 2008 SDK, Plattform SDK und ähnliches installiert, sowie Visual C++ EE 2008, allerdings benutze ich CodeBlocks - so, wie vorher auch.

Wie gesagt, vorher funktionierte alles. Dann habe ich das Projekt auf's Notebook kopiert und die Linker-Einstellungen vorgenommen. Er bringt mir auch keine Fehler oder ähnliches, wenn ich das Projekt aber kompilieren und ausführen lasse, bekomme ich nur den Fehler, dass D3D nicht initialisiert werden kann (durch MessageBox).

Ein Codefehler kann es kaum sein, da es ja vorher funktionierte.
Ich hatte aber vorher das November 2008 SDK benutzt, es sollte aber eigentlich auch mit dem neuen funktionieren, oder?

MfG,
Luinechor

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

2

09.05.2008, 14:56

das sollte kein prob machen, dass das sdk neuer ist. kleinigkeiten ändern sich da manchma aber das wäre dann vorher zu beheben.

meinst du mi d3d initialsieren D3DCreate9 oder das device?

3

09.05.2008, 15:05

Beides.
Ich habe jetzt ein neues Projekt erstellt, und die Dateien dort hineinkopiert und hinzugefügt. Ich glaube, dass die alten Projekte eventuell noch falsche Pfade verwenden.

Im neuen Projekt bekomme ich wenigstens Linker-Fehler.

Quellcode

1
libcpmtd.lib(stdthrow.obj)||error LNK2001: Nicht aufgelöstes externes Symbol "__CrtDbgReportW".|

Quellcode

1
libcpmtd.lib(xdebug.obj)||error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__malloc_dbg" in Funktion ""void * __cdecl operator new(unsigned int,struct std::_DebugHeapTag_t const &,char *,int)" (??2@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z)".|

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

4

09.05.2008, 16:48

kann es sein, dass du einen debug output verwendest? wenn ja, dann solltest du das erstma ausklammern

EDIT:

zeig dochma den fraglichen code, dan kannn man ma schauen, ob da vllt ne kleinigkeit nicht so günstig ist^^.

5

09.05.2008, 19:07

Zitat von »"TrommlBomml"«

kann es sein, dass du einen debug output verwendest?


Habe den Code nochmal durchgeschaut, und nein, weder in cResourceManager, noch in cSprite (die Klassen/Dateien, die angegeben werden).

Wenn ich wüsste, um welchen Code es geht, würde ich ihn auch posten.
Bin in dem Bereich aber noch ziemlicher Neuling.

NicoWe

Treue Seele

Beiträge: 126

Wohnort: Bielefeld / NRW

  • Private Nachricht senden

6

09.05.2008, 20:51

bei Linkerfehlern unter Visual Studio 9(vllt auch frühere Versionen, ich benutze 9) hilft es manchmal unter c++->code generation den Punkt "Runtime-Library" auf MultiThreaded Dll bzw MultiThreaded Debug DLL zu stellen. Versuchs mal wenn du's noch nicht getan hast, keine Erfolgsgarantie ;)
Erfolg ist die Fähigkeit, von einem Misserfolg zum anderen zu gehen,
ohne seine Begeisterung zu verlieren.
-Winston Churchill-

7

09.05.2008, 21:11

Ah, genau! Das hatte ich vergessen, einzustellen.
Danke! Jetzt funktionierts. =)

Werbeanzeige