DirectX 9.0 und Visual C++

piätch

Grünschnabel
Hallo,
Da auf mein eigentlichen Problem keiner eine Antwort wusste dachte ich mir gucke ich mal ob es ein DirectX Sample gibt wo das drinne ist und ich dann das Prinzip erarbeiten kann.

So ok Visual C++ Express 2010 rundergeladen und auch die DirectX SDK okee nun wollte ich ein Sample Anschauen also lade ich mit den Sample Manager da ein Sample runter öffne dann die C++ Source File wie z.b. Tutorial00!

Wenn ich das aber mache kann ich diese Datei nicht Debuggen geschweigeden Starten!
Wenn ich dann ein neues Projekt starte und dann de Code da Manuell einfüge dann sagt er mir :

c:\dokumente und einstellungen\paddy\eigene dateien\visual studio 2010\projects\dasdsafsdf\dasdsafsdf\dasdsafsdf.cpp(9): warning C4627: "#include "resource.h"": Wird bei der Suche nach Verwendung des vorkompilierten Headers übersprungen.

nun ist die Frage wie ich das umgehen kann oder eine Anleitung wie ich die Tutorials dann laden kann oder dann den Code da richtig einfügen kann!

Bitte um hilfe verzweifel sonst :(
 
Ist das die einzige Meldung?
Dann solltest du das Ganze schon Starten können.

Warnungen halten davon normalerweise nicht ab.
 
Hallo da bin ich wieder mh also nun habe ich das ganze nochmal versucht aber mit den ersten Tutorial da ich dachte ich das da dann am wenigsten fehler kommen müssten.

Also zuerst bekamm ich 4 Fehler einen konnte ich schon durch einen reinterpret_cast() beseitigen, die
wcex.lpszClassName = reinterpret_cast<LPCWSTR>("TutorialWindowClass");

nächsten beiden waren so wie es aussieht nur für die Icons zuständig da ich das nicht brauche erstmal so zum lernen habe ich die auskommentiert:

//wcex.hIcon = LoadIcon( hInstance, ( LPCTSTR )IDI_TUTORIAL1 );
//wcex.hIconSm = LoadIcon( wcex.hInstance, ( LPCTSTR )IDI_TUTORIAL1 );

nun zum letzen fehler den bekomme ich einfach nicht weg :( da sagt Visual c++ zwar auch das wieder ein reinterpret_cast helfen kann aber naja das bringt es dann nicht so wirklich hier mal der original code und fehlermeldung:

AdjustWindowRect( &rc, WS_OVERLAPPEDWINDOW, FALSE );
g_hWnd = CreateWindow( "TutorialWindowClass", "Direct3D 10 Tutorial 0: Setting Up Window", WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT, CW_USEDEFAULT, rc.right - rc.left, rc.bottom - rc.top, NULL, NULL, hInstance,
NULL );
if( !g_hWnd )

die fehlermeldung dazu ist dann nun:

1>------ Erstellen gestartet: Projekt: Na, Konfiguration: Debug Win32 ------
1> Na.cpp
1>c:\dokumente und einstellungen\paddy\eigene dateien\visual studio 2010\projects\na\na\na.cpp(84): error C2664: 'CreateWindowExW': Konvertierung des Parameters 2 von 'const char [20]' in 'LPCWSTR' nicht möglich
1> Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

so hier nun mal der abgeänderte code wie ich dachte das das schon reichen würde um den fehler zu beheben:

..."TutorialWindowClass", reinterpret_cast<LPCWSTR>("Direct3D 10 Tutorial 0: Setting Up Window"), WS_OVERLAPPEDWINDOW...

Hoffe um hilfe da ich gerne mal Fuß in der Grafikprogrammierung fassen würde :)
 
Das hat mit DX wenig zu tun.

Kompilier das Ganze einmal mit Unicode, das sollte auch den Rest lösen.

Kann man in den Projekteinstellungen einstellen.
 
Also wenn ich unter die Projekteigenschaften gucke also :

Projekt-> Projektname-Eigenschaften-> Ressourcen ->Allgemein steht unter Präprozessordefinition schon _UNICODE;UNICODE;%(PreprocessorDefinitions)

oder wo muss ich das nun umstellen?
 
Hallo,

reinterpret_cast sollte man nur verwenden, wenn man wirklich weiß was man tut. In diesem Fall würdest du damit zwar den Compiler zufriedenstellen, dafür aber zur Laufzeit Probleme bekommen. Lösche diese Konvertierungen also am besten wieder raus.

sheel meinte die Einstellung Konfigurationseigenschaften?? Allgemein ? Zeichensatz. Ich würde dir aber empfehlen, bei Zeichenkettenkonstanten einfach das Makro _T() zu verwenden. Beispielsweise würdest du so "TutorialWindowClass" durch _T("TutorialWindowClass") ersetzen. Dann bist du unabhängig vom ausgewählten Zeichensatz.

Grüße,
Matthias
 
Hallo also danke schonmal das ihr mir helft , aber leider brachte das Makro nicht den gewünschten effetk denn der Compiler meint weiterhin:

1>------ Erstellen gestartet: Projekt: Na, Konfiguration: Debug Win32 ------
1> Na.cpp
1>c:\dokumente und einstellungen\paddy\eigene dateien\visual studio 2010\projects\na\na\na.cpp(84): error C2664: 'CreateWindowExW': Konvertierung des Parameters 2 von 'const char [20]' in 'LPCWSTR' nicht möglich
1> Die Typen, auf die verwiesen wird, sind nicht verknüpft; die Konvertierung erfordert einen reinterpret_cast-Operator oder eine Typumwandlung im C- oder Funktionsformat.
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

Desweiteren fiel mir nun gerade auf das auch unter den Punkt Debbugen folgendes aufgelistet wird:

"Na.exe": "C:\Dokumente und Einstellungen\Paddy\Eigene Dateien\Visual Studio 2010\Projects\Na\Debug\Na.exe" geladen, Symbole wurden geladen.
"Na.exe": "C:\WINDOWS\system32\ntdll.dll" geladen, Cannot find or open the PDB file
"Na.exe": "C:\WINDOWS\system32\kernel32.dll" geladen, Cannot find or open the PDB file
"Na.exe": "C:\WINDOWS\system32\user32.dll" geladen, Cannot find or open the PDB file
"Na.exe": "C:\WINDOWS\system32\gdi32.dll" geladen, Cannot find or open the PDB file
"Na.exe": "C:\WINDOWS\system32\msvcr100d.dll" geladen, Symbole wurden geladen.
"Na.exe": "C:\WINDOWS\system32\imm32.dll" geladen, Cannot find or open the PDB file
"Na.exe": "C:\WINDOWS\system32\advapi32.dll" geladen, Cannot find or open the PDB file
"Na.exe": "C:\WINDOWS\system32\rpcrt4.dll" geladen, Cannot find or open the PDB file
"Na.exe": "C:\WINDOWS\system32\secur32.dll" geladen, Cannot find or open the PDB file
Das Programm "[3204] Na.exe: Systemeigen" wurde mit Code 0 (0x0) beendet.

Habe auch gleich mal nachgesehen und die sind aber alle dort in den Ordner vorhanden, muss ich da Visual c noch irgendwelche berechtigungen geben?

Tut mir leid das ich euch nun so mit meinen Fehlern nerve aber bin nunmal komplett neu auf den Gebiet DirektX
 
Ich meine, dass:

du uns einerseits einen Compilerfehler präsentierst;
Solange Fehler drin sind, kannst du das Programm nicht starten, weils gar nicht erst fertiggemacht wird.

Andererseits zeigst du uns die Ausgabe vom Debugger (die fehlerfrei ausschaut)
Das Programm ist also ohne Probleme von vorn bis hinten durchgelaufen.

Nur...um das Programm debuggen zu können, musst du es erst einmal starten können, und mit dem Compilerfehler geht das ja nicht :suspekt:
Irgendwas passt da überhaupt nicht.


Und nocheinmal: das alles hat mit DirectX so ziemlich garnichts zu tun
 
Zurück