DirectX "stürzt ab"

schreib mal unter die include's

C++:
#pragma comment(lib, "TriBaseD.lib")
#pragma comment(lib, "D3D9D.lib")

Dann sollte es auf jeden Fall kompilieren.

Ich glaub in den Projekt-Einstellungen is da noch i-ein Fehler.

Gruß
Anfänger
 
Zuletzt bearbeitet von einem Moderator:
Hab ich gemacht,:( folgende Fehlermeldung:
Code:
Buildprotokoll     Erstellen wurde gestartet: Projekt: "dr", Konfiguration: "Debug|Win32"
 Befehlszeilen     Die temporäre Datei "c:\Users\lars\Documents\Visual Studio 2008\Projects\dr\dr\Debug\RSP00000148243860.rsp" wird erstellt. Inhalt:
[
/Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd /Fo"Debug\\" /Fd"Debug\vc90.pdb" /W3 /c /ZI /TP ".\main.cpp"
]Erstellen der Befehlszeile "cl.exe @"c:\Users\lars\Documents\Visual Studio 2008\Projects\dr\dr\Debug\RSP00000148243860.rsp" /nologo /errorReport:prompt"Die temporäre Datei "c:\Users\lars\Documents\Visual Studio 2008\Projects\dr\dr\Debug\RSP00000248243860.rsp" wird erstellt. Inhalt:
[
/OUT:"C:\Users\lars\Documents\Visual Studio 2008\Projects\dr\Debug\dr.exe" /INCREMENTAL /MANIFEST /MANIFESTFILE:"Debug\dr.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Users\lars\Documents\Visual Studio 2008\Projects\dr\Debug\dr.pdb" /SUBSYSTEM:WINDOWS /DYNAMICBASE /NXCOMPAT /MACHINE:X86 TriBase.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib

".\Debug\main.obj"

".\Debug\dr.exe.embed.manifest.res"
]Erstellen der Befehlszeile "link.exe @"c:\Users\lars\Documents\Visual Studio 2008\Projects\dr\dr\Debug\RSP00000248243860.rsp" /NOLOGO /ERRORREPORT:PROMPT" Ausgabefenster     Kompilieren...
main.cpp
Verknüpfen...
LINK : fatal error LNK1104: Datei "D3D9D.lib" kann nicht geöffnet werden.
 Ergebnisse     Das Buildprotokoll wurde unter "file://c:\Users\lars\Documents\Visual Studio 2008\Projects\dr\dr\Debug\BuildLog.htm" gespeichert.
dr - 1 Fehler, 0 Warnung(en)

Vielen Dank für all die guten Tips und die Hilfsbereitschaft:)
 
Vielen Dank:)
jetzt lässt sich die Datei erstellen, aber leider stürzt sie immer noch ab.:(
Anbei die Erstellung des PDIRECT3DDEVICE9
Code:
void initdx()
{
g_pd3d=Direct3DCreate9(D3D_SDK_VERSION);
D3DDISPLAYMODE d;
g_pd3d->GetAdapterDisplayMode(0,&d);
D3DPRESENT_PARAMETERS pParam;
ZeroMemory(&pParam,sizeof(pParam));
pParam.BackBufferWidth=d.Width;
pParam.BackBufferHeight=d.Height;
pParam.BackBufferFormat=d.Format;
pParam.BackBufferCount=1;
pParam.MultiSampleType=D3DMULTISAMPLE_NONE;
//pParam.MultiSampleQuality=1;
pParam.SwapEffect=D3DSWAPEFFECT_COPY;
pParam.hDeviceWindow=hwnd;
pParam.Windowed=TRUE;
pParam.EnableAutoDepthStencil=false;
//pParam.Flags=D3DPRESENTFLAG_LOCKABLE_BACKBUFFER;
pParam.FullScreen_RefreshRateInHz=d.RefreshRate;
pParam.PresentationInterval=D3DPRESENT_INTERVAL_DEFAULT;
g_pd3d->CreateDevice(0,D3DDEVTYPE_HAL,hwnd,D3DCREATE_MIXED_VERTEXPROCESSING,&pParam,&g_pd3ddev);
};

Ich habe eben den selben Code in CodeBlocks ausgeführt und erhalte folgende Fehlermeldung:
Code:
Die Anwendung konnte nicht gestartet werden, weil d3dx9d_30.dll nicht gefunden werden konnte
Neuinstallation der anwendung könnte das Problem beheben.
Ich weiß, dass vc++2008 eigentlich ausreicht, aber da ich persönlich lieber mit codeblocks programmiere (sprich: versuche zu programmieren:D) wäre ich dankbar, wenn mir jemand sagen könnte, wie man diesen Fehler behebt.
 
Hi,

zu dem Problem mit CodeBlocks:
So wie sich das anhört hast du bei CodeBlocks nicht das aktuelle SDK benutzt oder du musst die DLL an eine bestimmte Position verschieben.

Zu dem anderen Probelm:
1. Ich glaub du musst für "FullScreen_RefreshRateInHz" 0 setzen,
da du nur eine RefreshRate im Vollbild-Modus angeben darfst.
C++:
pParam.FullScreen_RefreshRateInHz = 0;
2. Benutz mal anstatt D3DSWAPEFFECT_COPY D3DSWAPEFFECT_DISCARD.
C++:
pParam.SwapEffect=D3DSWAPEFFECT_DISCARD;

Gruß
Anfänger
 
Zuletzt bearbeitet von einem Moderator:
Hey,

Sorry für die späte Antwort, bin jetz ina Ausbildung und inna Woche nich mehr so viel da ;)

Versuchs mal genau mit dekm Code aus dem Buch, oder Benutz mal ein Referenz-Device.
Also: D3DDEVTYPE_REF <-- oder so ähnlich

Sonst guck nochmal ins Buch da mussten eigentlich stehen welche Parameter richtig sind.

MFG
Anfänger
 
Hallo Zusammen

Ich hab genau das gleiche Problem... ich habe die libs alle eingebunden etc. aber wenn ich ner SVertex Struktur nen Vector zuweisen will sagter bei mir auch

unresolved external symbol "__declspec(dllimport) public: class tbVector3 & __thiscall tbVector3::operator=(class tbVector3 const &)" (__imp_4tbVector3@@QAEAAV0@ABV0@@Z) referenced in function "enum tbResult __cdecl InitScene(class CDirect3D *)" (?InitScene@@YA?AW4tbResult@@PAVCDirect3D@@@Z)

die dwColor zuweisungen klappen alle....
ich bin mir recht sicher, die libs korrekt eingebunden zu haben. (projekt->eigenschaften blablub)
und wenn ich die zeile #pragma comment(lib, "TriBaseD.lib") hinzufüge ändert das auch nichts....

jmd ne idee?
 
Zurück