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

25.01.2004, 22:16

problem beim 1. beispiel

ja hi erstmal :huhu: ...hab da ein problem mit dem fenster-beispiel:

d:\programme\vc98\include\d3dtypes.h(109) : error C2011: '_D3DCOLORVALUE' : 'struct'-Typ-Neudefinition
d:\programme\vc98\include\d3dtypes.h(128) : error C2011: '_D3DRECT' : 'struct'-Typ-Neudefinition
d:\programme\vc98\include\d3dtypes.h(147) : error C2011: '_D3DVECTOR' : 'struct'-Typ-Neudefinition
d:\programme\vc98\include\d3dtypes.h(416) : error C2011: '_D3DMATRIX' : 'struct'-Typ-Neudefinition
d:\programme\vc98\include\d3dtypes.h(615) : error C2011: '_D3DLIGHTTYPE' : 'enum'-Typ-Neudefinition
d:\programme\vc98\include\d3dtypes.h(749) : error C2011: '_D3DSHADEMODE' : 'enum'-Typ-Neudefinition
d:\programme\vc98\include\d3dtypes.h(756) : error C2011: '_D3DFILLMODE' : 'enum'-Typ-Neudefinition
d:\programme\vc98\include\d3dtypes.h(778) : error C2011: '_D3DBLEND' : 'enum'-Typ-Neudefinition
d:\programme\vc98\include\d3dtypes.h(807) : error C2011: '_D3DTEXTUREADDRESS' : 'enum'-Typ-Neudefinition
d:\programme\vc98\include\d3dtypes.h(815) : error C2011: '_D3DCULL' : 'enum'-Typ-Neudefinition
d:\programme\vc98\include\d3dtypes.h(822) : error C2011: '_D3DCMPFUNC' : 'enum'-Typ-Neudefinition
d:\programme\vc98\include\d3dtypes.h(834) : error C2011: '_D3DFOGMODE' : 'enum'-Typ-Neudefinition
d:\programme\vc98\include\d3dtypes.h(858) : error C2011: '_D3DPRIMITIVETYPE' : 'enum'-Typ-Neudefinition
d:\programme\vc98\include\d3dtypes.h(878) : error C2011: '_D3DTRANSFORMSTATETYPE' : 'enum'-Typ-Neudefinition
d:\programme\vc98\include\d3dtypes.h(896) : error C2011: '_D3DRENDERSTATETYPE' : 'enum'-Typ-Neudefinition
d:\programme\vc98\include\dsound.h(370) : error C2061: Syntaxfehler : Bezeichner 'LPD3DVECTOR'
d:\programme\vc98\include\dsound.h(371) : error C2061: Syntaxfehler : Bezeichner 'LPD3DVECTOR'
d:\programme\vc98\include\dsound.h(373) : error C2061: Syntaxfehler : Bezeichner 'LPD3DVECTOR'
d:\programme\vc98\include\dsound.h(443) : error C2061: Syntaxfehler : Bezeichner 'LPD3DVECTOR'
d:\programme\vc98\include\dsound.h(448) : error C2061: Syntaxfehler : Bezeichner 'LPD3DVECTOR'
d:\programme\vc98\include\dsound.h(449) : error C2061: Syntaxfehler : Bezeichner 'LPD3DVECTOR'
d:\programme\vc98\include\wxutil.h(530) : error C2061: Syntaxfehler : Bezeichner 'DWORD_PTR'
d:\programme\vc98\include\ctlutil.h(437) : error C2504: 'IBasicVideo2' : Basisklasse undefiniert
d:\programme\vc98\include\ctlutil.h(904) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'm_dwAdvise'
d:\programme\vc98\include\ctlutil.h(904) : error C2501: 'DWORD_PTR' : Fehlende Speicherklasse oder Typbezeichner
d:\programme\vc98\include\ctlutil.h(904) : error C2501: 'm_dwAdvise' : Fehlende Speicherklasse oder Typbezeichner
d:\programme\vc98\include\amfilter.h(286) : error C2061: Syntaxfehler : Bezeichner 'LONG_PTR'
d:\programme\vc98\include\amfilter.h(951) : error C2504: 'IPinFlowControl' : Basisklasse undefiniert
d:\programme\vc98\include\amfilter.h(982) : error C2061: Syntaxfehler : Bezeichner 'IGraphConfig'
d:\programme\vc98\include\amfilter.h(1067) : error C2143: Syntaxfehler : Fehlendes ';' vor '*'
d:\programme\vc98\include\amfilter.h(1067) : error C2501: 'IGraphConfig' : Fehlende Speicherklasse oder Typbezeichner
d:\programme\vc98\include\amfilter.h(1067) : error C2501: 'm_pGraphConfig' : Fehlende Speicherklasse oder Typbezeichner
d:\programme\vc98\include\amfilter.h(1340) : error C2504: 'IMemAllocatorCallbackTemp' : Basisklasse undefiniert
d:\programme\vc98\include\amfilter.h(1444) : error C2143: Syntaxfehler : Fehlendes ';' vor '*'
d:\programme\vc98\include\amfilter.h(1444) : error C2501: 'IMemAllocatorNotifyCallbackTemp' : Fehlende Speicherklasse oder Typbezeichner
d:\programme\vc98\include\amfilter.h(1444) : error C2501: 'm_pNotify' : Fehlende Speicherklasse oder Typbezeichner
d:\programme\vc98\include\amfilter.h(1506) : error C2061: Syntaxfehler : Bezeichner 'IMemAllocatorNotifyCallbackTemp'
d:\programme\vc98\include\renbase.h(68) : error C2061: Syntaxfehler : Bezeichner 'DWORD_PTR'
d:\programme\vc98\include\renbase.h(78) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'm_dwAdvise'
d:\programme\vc98\include\renbase.h(78) : error C2501: 'DWORD_PTR' : Fehlende Speicherklasse oder Typbezeichner
d:\programme\vc98\include\renbase.h(78) : error C2501: 'm_dwAdvise' : Fehlende Speicherklasse oder Typbezeichner
d:\programme\vc98\include\winctrl.h(103) : error C2061: Syntaxfehler : Bezeichner 'LONG_PTR'
d:\programme\vc98\include\dsschedule.h(24) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'AddAdvisePacket'
d:\programme\vc98\include\dsschedule.h(24) : error C2501: 'DWORD_PTR' : Fehlende Speicherklasse oder Typbezeichner
d:\programme\vc98\include\dsschedule.h(26) : error C2061: Syntaxfehler : Bezeichner 'DWORD_PTR'
d:\programme\vc98\include\dsschedule.h(47) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'm_dwAdviseCookie'
d:\programme\vc98\include\dsschedule.h(47) : error C2501: 'DWORD_PTR' : Fehlende Speicherklasse oder Typbezeichner
d:\programme\vc98\include\dsschedule.h(47) : error C2501: 'm_dwAdviseCookie' : Fehlende Speicherklasse oder Typbezeichner
d:\programme\vc98\include\dsschedule.h(85) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'Cookie'
d:\programme\vc98\include\dsschedule.h(85) : error C2501: 'DWORD_PTR' : Fehlende Speicherklasse oder Typbezeichner
d:\programme\vc98\include\dsschedule.h(86) : warning C4183: 'Cookie': Definition der Member-Funktion sieht aus wie ctor, aber der Name entspricht nicht der umschliessenden Klasse
d:\programme\vc98\include\dsschedule.h(96) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'm_dwNextCookie'
d:\programme\vc98\include\dsschedule.h(96) : error C2501: 'm_dwNextCookie' : Fehlende Speicherklasse oder Typbezeichner
d:\programme\vc98\include\dsschedule.h(102) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'AddAdvisePacket'
d:\programme\vc98\include\dsschedule.h(102) : error C2501: 'DWORD_PTR' : Fehlende Speicherklasse oder Typbezeichner
d:\programme\vc98\include\refclock.h(103) : error C2061: Syntaxfehler : Bezeichner 'DWORD_PTR'
d:\programme\vc98\include\refclock.h(111) : error C2061: Syntaxfehler : Bezeichner 'DWORD_PTR'
d:\programme\vc98\include\refclock.h(121) : error C2061: Syntaxfehler : Bezeichner 'DWORD_PTR'
d:\programme\vc98\include\sysclock.h(20) : error C2504: 'IAMClockAdjust' : Basisklasse undefiniert
d:\programme\vc98\include\tbdirectinput.h(177) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'pDevice'
d:\programme\vc98\include\tbdirectinput.h(177) : error C2501: 'LPDIRECTINPUTDEVICE8' : Fehlende Speicherklasse oder Typbezeichner
d:\programme\vc98\include\tbdirectinput.h(177) : error C2501: 'pDevice' : Fehlende Speicherklasse oder Typbezeichner
d:\programme\vc98\include\tbdirectinput.h(191) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'm_pDirectInput'
d:\programme\vc98\include\tbdirectinput.h(191) : error C2501: 'm_pDirectInput' : Fehlende Speicherklasse oder Typbezeichner
d:\programme\vc98\include\tbdirectinput.h(211) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'GetDInput'
d:\programme\vc98\include\tbdirectinput.h(211) : error C2433: 'LPDIRECTINPUT8' : 'inline' bei der Deklaration von Daten nicht zulaessig
d:\programme\vc98\include\tbdirectinput.h(211) : warning C4183: 'GetDInput': Definition der Member-Funktion sieht aus wie ctor, aber der Name entspricht nicht der umschliessenden Klasse
d:\programme\vc98\include\tbdirectinput.h(223) : error C2061: Syntaxfehler : Bezeichner 'LPDIRECTINPUTDEVICE8'
d:\programme\vc98\include\tbdirectsound.h(28) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'm_pDSound'
d:\programme\vc98\include\tbdirectsound.h(28) : error C2501: 'm_pDSound' : Fehlende Speicherklasse oder Typbezeichner
d:\programme\vc98\include\tbdirectsound.h(30) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'm_pListener'
d:\programme\vc98\include\tbdirectsound.h(30) : error C2501: 'm_pListener' : Fehlende Speicherklasse oder Typbezeichner
d:\programme\vc98\include\tbdirectsound.h(42) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'GetDSound'
d:\programme\vc98\include\tbdirectsound.h(42) : error C2433: 'LPDIRECTSOUND8' : 'inline' bei der Deklaration von Daten nicht zulaessig
d:\programme\vc98\include\tbdirectsound.h(42) : warning C4183: 'GetDSound': Definition der Member-Funktion sieht aus wie ctor, aber der Name entspricht nicht der umschliessenden Klasse
d:\programme\vc98\include\tbdirectsound.h(44) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'GetListener'
d:\programme\vc98\include\tbdirectsound.h(44) : error C2433: 'LPDIRECTSOUND3DLISTENER8' : 'inline' bei der Deklaration von Daten nicht zulaessig
d:\programme\vc98\include\tbdirectsound.h(44) : warning C4183: 'GetListener': Definition der Member-Funktion sieht aus wie ctor, aber der Name entspricht nicht der umschliessenden Klasse
d:\programme\vc98\include\tbsound.h(47) : error C2143: Syntaxfehler : Fehlendes ';' vor '*'
d:\programme\vc98\include\tbsound.h(47) : error C2501: 'LPDIRECTSOUNDBUFFER8' : Fehlende Speicherklasse oder Typbezeichner
d:\programme\vc98\include\tbsound.h(47) : error C2501: 'm_ppSoundBuffers8' : Fehlende Speicherklasse oder Typbezeichner
d:\programme\vc98\include\tbsound.h(78) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'GetSoundBuffer8'
d:\programme\vc98\include\tbsound.h(78) : error C2433: 'LPDIRECTSOUNDBUFFER8' : 'inline' bei der Deklaration von Daten nicht zulaessig
d:\programme\vc98\include\tbsound.h(78) : error C2501: 'LPDIRECTSOUNDBUFFER8' : Fehlende Speicherklasse oder Typbezeichner
d:\programme\vc98\include\tbsound.h(78) : warning C4183: 'GetSoundBuffer8': Definition der Member-Funktion sieht aus wie ctor, aber der Name entspricht nicht der umschliessenden Klasse
Fehler beim Ausführen von cl.exe.

das passiert wenn ich kompilieren will...hab tribase(d).lib und d3d9.lib eingebunden aber das funzt net

thx im voraus :)

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

27.01.2004, 07:32

1. DirectX 9-SDK installieren
2. In Visual C++ die Include- und Lib-Pfade des DirectX 9-SDK-Verzeichnisses in die Pfadlisten eintragen, und zwar ganz nach oben (wie im Buch beschrieben), weil der Compiler sonst im Standardverzeichnis zuerst sucht, und da gibt es nur ältere Versionen.

3

28.01.2004, 15:03

also das lag daran dass ich im visual c++ verzeichnis UND in den andern (tribase+SDK) die include dateien liegen hatte...da hat er sie doppelt kompiliert und dann war das der fehler...das hab ich jetzt berichtigt, allerdings bekomme ich jetzt den fehler beim linken:

Linker-Vorgang läuft...
Fenster.obj : error LNK2001: Nichtaufgeloestes externes Symbol "enum tbResult __cdecl ExitWindow(void)" (?ExitWindow@@YA?AW4tbResult@@XZ)
Fenster.obj : error LNK2001: Nichtaufgeloestes externes Symbol "enum tbResult __cdecl InitWindow(int,int,char *,struct HICON__ *)" (?InitWindow@@YA?AW4tbResult@@HHPADPAUHICON__@@@Z)
Release/Adapter.exe : fatal error LNK1120: 2 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.

ich habe aber tribase(d).lib und d3d9.lib eingebnden und die verzeichnisse stimmen auch

PS: riesen kompliment das buch is spitze

NoName

Treue Seele

Beiträge: 118

Beruf: Student

  • Private Nachricht senden

4

28.01.2004, 15:17

Hm, das mit dem doppeltem Include dürfte eignetlich nicht sein, es wird immer nur das erste Suchergebnis eingebunden.

Offenbar fehlen dir die Funktionen "InitWindow" und "ExitWindow". Die sind (, glaube ich,) auch nicht in der TriBase-Engine enthalten. Füge einfach die "C++"-Datei "InitWindows.cpp" aus dem Beispiel-Ordner in dein Projekt ein.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

5

28.01.2004, 19:06

Alle Dateien aus dem Ordner "Allgemeines" zum Projekt hinzufügen, wie im Buch beschrieben.

6

31.01.2004, 16:05

also wenn du meinst unter den extra/optionen/verzeichnisse
"d\programme\tribase\beispiele\allgemeines"

dann ist das nicht der fehler..

ich dachte das liegt irgendwie an einer fehlenden *.lib datei aber ich weiß nicht welche oder kanns viellecht auch sein dass ich eine zuviel habe und die dann rekompiliert wird???

NoName

Treue Seele

Beiträge: 118

Beruf: Student

  • Private Nachricht senden

7

31.01.2004, 18:22

Klicke einfach auf Projekt | Dateien hinzufügen | Dateien ... (oder so ähnlich) und markiere die Dateien im "Allgemeines"-Verzeichnis.

8

02.02.2004, 21:36

jo stimmt is mir auch schon aufgefallen nachdem ich das geschreiben hab :)

aber noch ne frage...beim dreieck kommt das:

Kompilierung läuft...
Dreieck.cpp
D:\Programme\TriBase\Beispiele\Kapitel 02\03 - Das erste Dreieck\Dreieck.cpp(21) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'g_Direct3DParameters'
D:\Programme\TriBase\Beispiele\Kapitel 02\03 - Das erste Dreieck\Dreieck.cpp(21) : error C2501: 'SDirect3DParameters' : Fehlende Speicherklasse oder Typbezeichner
D:\Programme\TriBase\Beispiele\Kapitel 02\03 - Das erste Dreieck\Dreieck.cpp(21) : fatal error C1004: Unerwartetes Dateiende gefunden
Fehler beim Ausführen von cl.exe.

Dreieck.obj - 3 Fehler, 0 Warnung(en)

welche datei hab ich denn jetzt vergessen zu includen?

9

02.02.2004, 21:43

Zitat von »"Sk!p"«


D:\Programme\TriBase\Beispiele\Kapitel 02\03 - Das erste Dreieck\Dreieck.cpp(21) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'g_Direct3DParameters'D:\Programme\TriBase\Beispiele\Kapitel 02\03 - Das erste Dreieck\Dreieck.cpp(21) : error C2501: 'SDirect3DParameters' : Fehlende Speicherklasse oder Typbezeichner
D:\Programme\TriBase\Beispiele\Kapitel 02\03 - Das erste Dreieck\Dreieck.cpp(21) : fatal error C1004: Unerwartetes Dateiende gefunden
Fehler beim Ausführen von cl.exe.

Dreieck.obj - 3 Fehler, 0 Warnung(en)

welche datei hab ich denn jetzt vergessen zu includen?


nein sollt passen (vom includen her)
bin in c++ noch nicht so ein genie, hatte bisher nur mit php zu tun
ABER ich würd mich mal dem fettgedruckten witmen


weiters sollte relativ am anfang (nach den strukturen)das stehen

Quellcode

1
2
3
4
// Globale Variablen
SDirect3DParameters g_Direct3DParameters;   // Direct3D-Parameter
float               g_fTime = 0.0f;         // Zeitzähler
SVertex             g_aTriangleVertex[3];   // Die drei Vertizes des Dreiecks


ist das der fall ?
(wenn nicht ist das der fehler; kann aber auch sein dass das irgendeinen anderen zusammenhang hat; ich selbst code c++ seit grad 2 wochen :) sprich was ich da poste kann auch 100%er mist sein)

edit:
2 fragen noch
compilest du den code von der cd (also herunterkopiert und compiled) oder ist das dein eigener (wenn das der fall ist poste doch mal den code, dann ises einfacher zu helfen)

10

03.02.2004, 15:26

nene die variable hab ich auch drin...nur er erkennt SDirect3DParameters (oder wie die erstre globale variable hieß) nicht...das liegt aber nur daran dass mir ne include datei fehlt ich aber net weiß welche...trotzdem danke für alle tipps ich werds schon schaffen :D

Werbeanzeige