fehler
-
hey leute!!!!
ich brauch eure hilfe!!!
also ich bin erst neu in der programmierung mit directX. So habe ich im internet beispiele gefunden und diese dann richtig abgetippt oder die quellcodes geladen.
ABER als ich die beispiele unter mircosoft VC 2005 express kompilieren wollte kommmen soooooo unendlich viele fehler!!!
ich hab schon daraus gelesen das der fehler nicht in dem eigentlichen quellcode liegt, sondern in den headern von direct X!!!
z.b. winnt.h oder so.....
ich hab schon verschiedene directx sdk´s installiert und nix hat sich geändert!!!!
bitte helft mir!!! ich weis echt nicht weiter!!!!hier schaut euch mal die ausgabe an, die VC macht:
1>c:\programme\microsoft directx sdk (august 2006)\include\winnt.h(3440) : warning C4068: Unbekanntes Pragma 1>c:\programme\microsoft directx sdk (august 2006)\include\winbase.h(1260) : error C2144: Syntaxfehler: 'void' sollte auf ';' folgen 1>c:\programme\microsoft directx sdk (august 2006)\include\winbase.h(1260) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 1>c:\programme\microsoft directx sdk (august 2006)\include\winbase.h(1261) : error C2144: Syntaxfehler: 'void' sollte auf ';' folgen 1>c:\programme\microsoft directx sdk (august 2006)\include\winbase.h(1261) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 1>c:\programme\microsoft directx sdk (august 2006)\include\winbase.h(1261) : error C2086: 'int DECLSPEC_NORETURN': Neudefinition 1> c:\programme\microsoft directx sdk (august 2006)\include\winbase.h(1260): Siehe Deklaration von 'DECLSPEC_NORETURN' 1>c:\programme\microsoft directx sdk (august 2006)\include\winbase.h(1321) : error C2144: Syntaxfehler: 'void' sollte auf ';' folgen 1>c:\programme\microsoft directx sdk (august 2006)\include\winbase.h(1321) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 1>c:\programme\microsoft directx sdk (august 2006)\include\winbase.h(1321) : error C2086: 'int DECLSPEC_NORETURN': Neudefinition 1> c:\programme\microsoft directx sdk (august 2006)\include\winbase.h(1260): Siehe Deklaration von 'DECLSPEC_NORETURN' 1>c:\programme\microsoft directx sdk (august 2006)\include\rpcdce.h(366) : error C2144: Syntaxfehler: 'void' sollte auf ';' folgen 1>c:\programme\microsoft directx sdk (august 2006)\include\rpcdce.h(366) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 1>c:\programme\microsoft directx sdk (august 2006)\include\rpcdce.h(366) : error C2086: 'int DECLSPEC_NORETURN': Neudefinition 1> c:\programme\microsoft directx sdk (august 2006)\include\winbase.h(1260): Siehe Deklaration von 'DECLSPEC_NORETURN' 1>c:\programme\microsoft directx sdk (august 2006)\include\rpcdcep.h(89) : error C3646: "I_RpcAllocate": Unbekannter Überschreibungsspezifizierer 1>c:\programme\microsoft directx sdk (august 2006)\include\rpcdcep.h(89) : error C2091: Funktionsergebnis ist eine Funktion 1>c:\programme\microsoft directx sdk (august 2006)\include\rpcdcep.h(89) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 1>c:\programme\microsoft directx sdk (august 2006)\include\shellapi.h(129) : warning C4103: "c:\programme\microsoft directx sdk (august 2006)\include\shellapi.h": Ausrichtung wurde nach Einschließen des Headers geändert, möglicherweise fehlt "#pragma pack(pop)". 1>c:\programme\microsoft directx sdk (august 2006)\include\shellapi.h(265) : warning C4103: "c:\programme\microsoft directx sdk (august 2006)\include\shellapi.h": Ausrichtung wurde nach Einschließen des Headers geändert, möglicherweise fehlt "#pragma pack(pop)". 1>c:\programme\microsoft directx sdk (august 2006)\include\winsock2.h(537) : error C3646: "inet_ntoa": Unbekannter Überschreibungsspezifizierer 1>c:\programme\microsoft directx sdk (august 2006)\include\winsock2.h(537) : error C2091: Funktionsergebnis ist eine Funktion 1>c:\programme\microsoft directx sdk (august 2006)\include\winsock2.h(537) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 1>c:\programme\microsoft directx sdk (august 2006)\include\winsock2.h(537) : error C2733: Zweite C-Bindung für überladene Funktion 'DECLARE_STDCALL_P' nicht zulässig 1> c:\programme\microsoft directx sdk (august 2006)\include\winsock2.h(537): Siehe Deklaration von 'DECLARE_STDCALL_P' 1>c:\programme\microsoft directx sdk (august 2006)\include\winsock2.h(546) : error C3646: "gethostbyaddr": Unbekannter Überschreibungsspezifizierer 1>c:\programme\microsoft directx sdk (august 2006)\include\winsock2.h(546) : error C2091: Funktionsergebnis ist eine Funktion 1>c:\programme\microsoft directx sdk (august 2006)\include\winsock2.h(546) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. 1>c:\programme\microsoft directx sdk (august 2006)\include\winsock2.h(546) : error C2733: Zweite C-Bindung für überladene Funktion 'DECLARE_STDCALL_P' nicht zulässig 1> c:\programme\microsoft directx sdk (august 2006)\include\winsock2.h(546): Siehe Deklaration von 'DECLARE_STDCALL_P' 1>c:\programme\microsoft directx sdk (august 2006)\include\winsock2.h(547) : error C3646: "gethostbyname": Unbekannter Überschreibungsspezifiziererbitttttteeee helft mir ich komm da allein nich weiter!!!!
-
Schreib doch mal deinen Code heir rein und hast du auch alle(s) (Libraries) included ?
-
hast du das Platform SDK einfach in den Ordner "c:\programme\microsoft directx sdk (august 2006)" entpackt?
-
so ich habs jez mit nem beispiel von ner buch cd probiert...
es ändert sich nix!!! es sind sogar noch fehler dazugekommen!!
wie kann das angehen...???
SO hier is der code... wie gesagtich hab daran nix verändert!!!
es sind die quellcodes und die .exe vorhanden... die .exe funktionieren!!!so hier is der code aus der cpp datei:
# include "Trianglefan.h" trianglefan::trianglefan() { dreieckbuffer = 0; linienbuffer = 0; } trianglefan::~trianglefan() { if( dreieckbuffer) dreieckbuffer->Release(); if( linienbuffer) linienbuffer->Release(); } void trianglefan::create( LPDIRECT3DDEVICE9 dev) { device = dev; device->CreateVertexBuffer( 6*sizeof(meinvertex), 0, MEINVERTEXFORMAT, D3DPOOL_MANAGED, &dreieckbuffer, NULL); device->CreateVertexBuffer( 18*sizeof(meinvertex), 0, MEINVERTEXFORMAT, D3DPOOL_MANAGED, &linienbuffer, NULL); } void trianglefan::setup() { meinvertex *dv, *lv; int i; dreieckbuffer->Lock(0, 0, (void **)&dv, 0); linienbuffer->Lock(0, 0, (void **)&lv, 0); dv[0].pos = D3DXVECTOR3( 2, 1, 0); dv[1].pos = D3DXVECTOR3( 0, 0, 0); dv[2].pos = D3DXVECTOR3( 1, 2, 0); dv[3].pos = D3DXVECTOR3( 2, 2, 0); dv[4].pos = D3DXVECTOR3( 3, 2, 0); dv[5].pos = D3DXVECTOR3( 4, 1, 0); dv[0].color = D3DCOLOR_ARGB(255, 255, 0, 0); dv[1].color = D3DCOLOR_ARGB(255, 0, 255, 0); dv[2].color = D3DCOLOR_ARGB(255, 0, 0, 255); dv[3].color = D3DCOLOR_ARGB(255, 255, 0, 0); dv[4].color = D3DCOLOR_ARGB(255, 0, 255, 0); dv[5].color = D3DCOLOR_ARGB(255, 0, 0, 255); lv[0].pos = dv[0].pos; lv[1].pos = dv[1].pos; lv[2].pos = dv[0].pos; lv[3].pos = dv[2].pos; lv[4].pos = dv[0].pos; lv[5].pos = dv[3].pos; lv[6].pos = dv[0].pos; lv[7].pos = dv[4].pos; lv[8].pos = dv[0].pos; lv[9].pos = dv[5].pos; lv[10].pos = dv[1].pos; lv[11].pos = dv[2].pos; lv[12].pos = dv[2].pos; lv[13].pos = dv[3].pos; lv[14].pos = dv[3].pos; lv[15].pos = dv[4].pos; lv[16].pos = dv[4].pos; lv[17].pos = dv[5].pos; for( i = 0; i < 12; i++) lv[i].color = D3DCOLOR_ARGB(255, 0, 0, 0); dreieckbuffer->Unlock(); linienbuffer->Unlock(); } void trianglefan::render() { device->SetRenderState( D3DRS_AMBIENT, 0xffffff); device->SetRenderState( D3DRS_AMBIENTMATERIALSOURCE, D3DMCS_COLOR1); device->SetFVF( MEINVERTEXFORMAT); device->SetStreamSource( 0, dreieckbuffer, 0, sizeof(meinvertex)); device->DrawPrimitive( D3DPT_TRIANGLEFAN, 0, 4); device->SetStreamSource( 0, linienbuffer, 0, sizeof(meinvertex)); device->DrawPrimitive( D3DPT_LINELIST, 0, 9); }so dann kommt jez die headerdatei:
# ifndef TRIANGLEFAN_H # define TRIANGLEFAN_H # include <d3dx9.h> # define MEINVERTEXFORMAT (D3DFVF_XYZ | D3DFVF_DIFFUSE) struct meinvertex { D3DXVECTOR3 pos; D3DCOLOR color; }; class trianglefan { private: LPDIRECT3DDEVICE9 device; LPDIRECT3DVERTEXBUFFER9 dreieckbuffer; LPDIRECT3DVERTEXBUFFER9 linienbuffer; public: trianglefan(); ~trianglefan(); void create( LPDIRECT3DDEVICE9 dev); void setup(); void render(); void lookatme( D3DXVECTOR3 &pos, D3DXVECTOR3 &look){ pos = D3DXVECTOR3(2, 1, -5); look = D3DXVECTOR3(0, 0, 1);} };# endif
so und als ob das nich genug is dann auch noch die fehler(nur ein auszug):
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\winnt.h(3043) : warning C4103: "c:\programme\microsoft directx sdk (august 2006)\include\winnt.h": Ausrichtung wurde nach Einschließen des Headers geändert, möglicherweise fehlt "#pragma pack(pop)".
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\winnt.h(3335) : warning C4103: "c:\programme\microsoft directx sdk (august 2006)\include\winnt.h": Ausrichtung wurde nach Einschließen des Headers geändert, möglicherweise fehlt "#pragma pack(pop)".
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\winnt.h(3435) : warning C4068: Unbekanntes Pragma
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\winnt.h(3440) : warning C4068: Unbekanntes Pragma
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\winbase.h(1260) : error C2144: Syntaxfehler: 'void' sollte auf ';' folgen
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\winbase.h(1260) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\winbase.h(1261) : error C2144: Syntaxfehler: 'void' sollte auf ';' folgen
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\winbase.h(1261) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\winbase.h(1261) : error C2086: 'int DECLSPEC_NORETURN': Neudefinition
1> C:\Programme\Microsoft DirectX SDK (August 2006)\Include\winbase.h(1260): Siehe Deklaration von 'DECLSPEC_NORETURN'
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\winbase.h(1321) : error C2144: Syntaxfehler: 'void' sollte auf ';' folgen
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\winbase.h(1321) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\winbase.h(1321) : error C2086: 'int DECLSPEC_NORETURN': Neudefinition
1> C:\Programme\Microsoft DirectX SDK (August 2006)\Include\winbase.h(1260): Siehe Deklaration von 'DECLSPEC_NORETURN'
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\rpcdce.h(366) : error C2144: Syntaxfehler: 'void' sollte auf ';' folgen
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\rpcdce.h(366) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\rpcdce.h(366) : error C2086: 'int DECLSPEC_NORETURN': Neudefinition
1> C:\Programme\Microsoft DirectX SDK (August 2006)\Include\winbase.h(1260): Siehe Deklaration von 'DECLSPEC_NORETURN'
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\rpcdcep.h(89) : error C3646: "I_RpcAllocate": Unbekannter Überschreibungsspezifizierer
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\rpcdcep.h(89) : error C2091: Funktionsergebnis ist eine Funktion
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\rpcdcep.h(89) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\shellapi.h(129) : warning C4103: "c:\programme\microsoft directx sdk (august 2006)\include\shellapi.h": Ausrichtung wurde nach Einschließen des Headers geändert, möglicherweise fehlt "#pragma pack(pop)".
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\shellapi.h(265) : warning C4103: "c:\programme\microsoft directx sdk (august 2006)\include\shellapi.h": Ausrichtung wurde nach Einschließen des Headers geändert, möglicherweise fehlt "#pragma pack(pop)".
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\winsock2.h(537) : error C3646: "inet_ntoa": Unbekannter Überschreibungsspezifizierer
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\winsock2.h(537) : error C2091: Funktionsergebnis ist eine Funktion
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\winsock2.h(537) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\winsock2.h(537) : error C2733: Zweite C-Bindung für überladene Funktion 'DECLARE_STDCALL_P' nicht zulässig
1> C:\Programme\Microsoft DirectX SDK (August 2006)\Include\winsock2.h(537): Siehe Deklaration von 'DECLARE_STDCALL_P'
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\winsock2.h(546) : error C3646: "gethostbyaddr": Unbekannter Überschreibungsspezifizierer
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\winsock2.h(546) : error C2091: Funktionsergebnis ist eine Funktion
1>C:\Programme\Microsoft DirectX SDK (August 2006)\Include\winsock2.h(546) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.egal was ich ausprobiere immer kommen diese fehler!!
ich hab auch schon ma ein prog von meinem kumpel versucht bei mir zum laufen zu kriegen - aber die gleichen fehler - aber bei ihm funktionieren sie!!!!
er kann mir aber nich helfen
hab nun dxsdk auch schon neu installiert bringt nix!!!und ja, ich hab es auch wirklich in den ordner enpackt!!!
BITTTTTTTEEEEEEEEEEEE HELFT MIR....... nix funktioniert!!
-
Wie gesagt, es sieht immernoch so aus, als hättest du was nicht richting includiert etc. Bist du die sicher das du alles richting installiert hast ? Richting eingebunden ?
Du solltest dir auch mal die Frage von Vertexxwahn durchlesen, bevor du hier stur deine Quellcodes weiter postest.
-
GESCHAFFT!!!!!!
Bad Grin
ES LEBT!!!
joa ich hab das prob gelöst!!
eigentlich war es ganz einfach: das mircosoft p sdk neu installiert----
-----und dann gings---
danke für die antworten!!!