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

AwesomeChick

Frischling

  • »AwesomeChick« ist der Autor dieses Themas

Beiträge: 13

Wohnort: Bayern

Beruf: Programmierer

  • Private Nachricht senden

1

31.12.2009, 12:36

c++ 'unverständlicher' compilierfehler

Hallo, ich habe das buch
3D spieleprogrammierung mit c++ und directX 9, und es ist echt super
nur momentan komme ich nicht weiter:
Buch seite 115/116.
Ich versuche eine einfache windows anwendung zu machen:

Hier mein Quellcode

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
// Kapitel 2

// Beispielprogramm 01

// ===================

// Erstellen des Fensters und Aufrufen der Nachrichtenschleife.

// Die dafür nötigen Funktionen sind in der Datei InitWindow.cpp

// gespeichert.


#include <Windows.h>
#include <TriBase.h>
#include "I:\C++\CD\Beispiele\Allgemeines\InitWindow.h"
#include "Resource.h"
#include "I:\C++\CD\Beispiele\Kapitel 02\01 - Fenster\Fenster.rc"
/*die pfade mit I:\... stimmen alle, ich habe siei überprüft, bzw
auf meine externe festplatte kopiert.
Ich habe die SDK sowie tribase lib / include dateien eingegeben
Dazu muss ich aber sagen: die 'microsoft platform SDK' 
habe ich nicht gefunden und wurde somit auch nicht included,
evtl liegt es ja daran? Sie wurde nicht automatisch mit installiert.
Ich benutze: Windows7 Ultimate 32-bit
IDE: Visual studio Express Edition 2008
Ich habe win32 projekt ausgewählt( nicht win32 konsolenanwendung^^)

*/

// ******************************************************************

// Render-Funktion

tbResult Render(float fNumSecsPassed)
{
    return TB_OK;
}

// ******************************************************************

// Move-Funktion

tbResult Move(float fNumSecsPassed)
{
    return TB_OK;
}

// ******************************************************************

// Windows-Hauptfunktion

int WINAPI WinMain(HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   char* pcCmdLine,
                   int iShowCmd)
{
    // TriBase-Engine initialisieren

    tbInit();

    // Fenster initialisieren

    InitWindow(640, 480, "Beispielprogramm Nr. 2: Fenster",
               LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON1)));

    // Nachrichtenschleife

    tbDoMessageLoop(Render, Move);
    
    // Fenster herunterfahren

    ExitWindow();

    // Engine herunterfahren

    tbExit();

    return 0;
}

// ******************************************************************



Ich freue mich auf jede art von hilfe! :D


#EDIT: Da hab ich doch glatt die compilermeldung vergessen^^:

1>------ Erstellen gestartet: Projekt: Michael, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>Michael.cpp
1>i:\c++\microsoft directx sdk (december 2005)\include\dsound.h(230) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>i:\c++\microsoft directx sdk (december 2005)\include\dsound.h(230) : error C2143: Syntaxfehler: Es fehlt ';' vor '*'
1>i:\c++\microsoft directx sdk (december 2005)\include\dsound.h(230) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>i:\c++\microsoft directx sdk (december 2005)\include\dsound.h(349) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'lpwfxFormat'
1>i:\c++\microsoft directx sdk (december 2005)\include\dsound.h(349) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>i:\c++\microsoft directx sdk (december 2005)\include\dsound.h(349) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>i:\c++\microsoft directx sdk (december 2005)\include\dsound.h(365) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'lpwfxFormat'
1>i:\c++\microsoft directx sdk (december 2005)\include\dsound.h(365) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>i:\c++\microsoft directx sdk (december 2005)\include\dsound.h(365) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>i:\c++\microsoft directx sdk (december 2005)\include\dsound.h(416) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'lpwfxFormat'
1>i:\c++\microsoft directx sdk (december 2005)\include\dsound.h(416) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>i:\c++\microsoft directx sdk (december 2005)\include\dsound.h(416) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>i:\c++\microsoft directx sdk (december 2005)\include\dsound.h(425) : error C2146: Syntaxfehler: Fehlendes ';' vor Bezeichner 'lpwfxFormat'
1>i:\c++\microsoft directx sdk (december 2005)\include\dsound.h(425) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>i:\c++\microsoft directx sdk (december 2005)\include\dsound.h(425) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>i:\c++\microsoft directx sdk (december 2005)\include\dsound.h(686) : error C2061: Syntaxfehler: Bezeichner 'LPWAVEFORMATEX'
1>i:\c++\microsoft directx sdk (december 2005)\include\dsound.h(696) : error C2061: Syntaxfehler: Bezeichner 'LPCWAVEFORMATEX'
1>i:\c++\microsoft directx sdk (december 2005)\include\dsound.h(770) : error C2061: Syntaxfehler: Bezeichner 'LPWAVEFORMATEX'
1>i:\c++\microsoft directx sdk (december 2005)\include\dsound.h(780) : error C2061: Syntaxfehler: Bezeichner 'LPCWAVEFORMATEX'
1>i:\c++\microsoft directx sdk (december 2005)\include\dsound.h(1041) : error C2061: Syntaxfehler: Bezeichner 'LPWAVEFORMATEX'
1>i:\c++\microsoft directx sdk (december 2005)\include\dsound.h(1099) : error C2061: Syntaxfehler: Bezeichner 'LPWAVEFORMATEX'
1>c:\program files\microsoft sdks\windows\v6.0a\include\mmsystem.h(806) : error C2373: 'WAVEFORMATEX': Neudefinition; unterschiedliche Modifizierer
1> i:\c++\microsoft directx sdk (december 2005)\include\dsound.h(230): Siehe Deklaration von 'WAVEFORMATEX'
1>c:\program files\microsoft sdks\windows\v6.0a\include\mmsystem.h(809) : error C2378: 'LPCWAVEFORMATEX': Neudefinition; Symbol kann nicht mit typedef überladen werden
1> i:\c++\microsoft directx sdk (december 2005)\include\dsound.h(230): Siehe Deklaration von 'LPCWAVEFORMATEX'
1>c:\program files\microsoft sdks\windows\v6.0a\include\mmsystem.h(851) : error C2061: Syntaxfehler: Bezeichner 'LPCWAVEFORMATEX'
1>c:\program files\microsoft sdks\windows\v6.0a\include\mmsystem.h(907) : error C2061: Syntaxfehler: Bezeichner 'LPCWAVEFORMATEX'
1>i:\c++\cd\beispiele\kapitel 02\01 - fenster\fenster.rc(10) : fatal error C1083: Datei (Include) kann nicht geöffnet werden: "mfc/afxres.h": No such file or directory
1>Das Buildprotokoll wurde unter "file://c:\Users\Michael\Documents\Visual Studio 2008\Projects\Michael\Michael\Debug\BuildLog.htm" gespeichert.
1>Michael - 26 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

2

31.12.2009, 13:37

Zitat

1>i:\c++\cd\beispiele\kapitel 02\01 - fenster\fenster.rc(10) : fatal error C1083: Datei (Include) kann nicht geöffnet werden: "mfc/afxres.h": No such file or directory

Das lässt sich beheben, indem du in die .rc Datei statt

C-/C++-Quelltext

1
#include "mfc/afrexes.h"

C-/C++-Quelltext

1
#include <windows.h>

reinschreibst.

Ansonsten. Hast du die TriBase Engine samt DShowBaseClasses schon neu kompiliert. Benutzt du eigentlich MSVCPP 6.0 oder 2008 Express

AwesomeChick

Frischling

  • »AwesomeChick« ist der Autor dieses Themas

Beiträge: 13

Wohnort: Bayern

Beruf: Programmierer

  • Private Nachricht senden

3

01.01.2010, 12:12

Ich benutze visual studio express 2008 ( auch wenn ich nicht genau weiß, was das andere ist was du mir vorgeschlagen hast^^)
Desweiteren benutze ich das DirectX SDK( august 2009 version)
Nein ich habe noch nicht alles neu kompiliert( aber ich habe
im buch gelesen, dass man das machen sollte ;) ;)
Aber da muss ich ja jede tribase cpp und .h neu öffnen und kompilieren
*schmerz*^^
+ danke für die hilfe ich werde es gleich mal testen
Gibts hier eigentlich auch nen live chat? Wäre ne tolle sache:D:D:D
Noch ne kleine zusatzfrage: meine neu erstellten .cpp files kommen
unter quelldateien oder unter resourcedateien? Bzw was ist der unterschied?
Ach ja, im buch steht man soll das platform sdk auch hinzufügen, aber
es gibt solch eines gar nicht! Auch zum downloaden hab ich nichts
anständiges gefunden:(
Momentan bekomme ich folgenden fehler:
1>i:\c++\cd\tribase\include\tribase.h(46) : fatal error C1083: Datei (Include) kann nicht geöffnet werden: "DXErr9.h": No such file or directory

Hierbei habe ich einfach nur ein leeres projekt gemacht und den
inhalt der .cpp datei von cd/beispiele/allgemeines/Fenster 02
kopiert.
Ich habe tribase sowie sdk(aug 2009) included ( je 1 lib und 1 inc datei)
Platform habe ich nicht reingemacht da ich es nicht gefunden habe.
Ich bin langsam echt am Ende^^. Ich könnte evtl auch mal 'live'
über ICQ oder ne chatbox gebrauchen, wäre echt cool, wenn mir da jmd helfen könnte ^^. meine Nummer ist, wie man unten hier sieht auch
567- 446-932
danke im voraus! .D
IDE: Visual Studio Express 2008[in use]
Visual Studio 2008
SDK: DirectX SDK (August 2009)
o Windoof7 ultimate

4

01.01.2010, 12:56

Zitat

Aber da muss ich ja jede tribase cpp und .h neu öffnen und kompilieren
*schmerz*^^

?????????????????????
Wozu gibts denn die .vcproj und .sln ??

AwesomeChick

Frischling

  • »AwesomeChick« ist der Autor dieses Themas

Beiträge: 13

Wohnort: Bayern

Beruf: Programmierer

  • Private Nachricht senden

5

01.01.2010, 13:03

Ja aber wie gesagt bekomme ich den oben genannten fehler
IDE: Visual Studio Express 2008[in use]
Visual Studio 2008
SDK: DirectX SDK (August 2009)
o Windoof7 ultimate

6

01.01.2010, 13:04

Bekommst du den Beim Code oben, oder wenn du die TriBase Engine neu kompilierst ?

AwesomeChick

Frischling

  • »AwesomeChick« ist der Autor dieses Themas

Beiträge: 13

Wohnort: Bayern

Beruf: Programmierer

  • Private Nachricht senden

7

01.01.2010, 13:13

Also ich installier mir jetzt erstmal das platform sdk und versuch
dann alle projekte neu zu kompilieren
( ja den fehler hab ich beim kompilieren der projekte der cd bekommen)
Ich kann aber das Core plugin sowie DirectDraw nicht installieren:
fehler:
Error 1606. Could not access network location
http://download.microsoft.com/download/a/5/f.. und so weiter
kommt ne fehlermeldung.
Ich ging auf den link dieser seite
https://www.spieleprogrammierer.de/phpBB2/viewtopic.php?t=4810
undn hab dann PSDK-x86.exe gezogen und gestartet, dann kam
obige fehlermeldung
Hoffentlich ist nur der Server down.
ps: ist der link zum platform sdk nicht etwas veraltet? 2003? Ich habe
jetzt auf die schnelle über google aber auch keine neuere version gefunden.
IDE: Visual Studio Express 2008[in use]
Visual Studio 2008
SDK: DirectX SDK (August 2009)
o Windoof7 ultimate

C--

Alter Hase

Beiträge: 465

Beruf: Schüler

  • Private Nachricht senden

8

01.01.2010, 14:02

@ livechat: https://www.spieleprogrammierer.de/phpBB2/viewtopic.php?t=8335
Ich spreche: C/C++, C++/CLI C#, VBA, VB.NET, Delphi, (HTML, Javascript(bisschen))
------------------------------------------------------------
Hier steht eventuell schon in ein paar Monaten der Link zu meiner Homepage!

return 0;
;)

AwesomeChick

Frischling

  • »AwesomeChick« ist der Autor dieses Themas

Beiträge: 13

Wohnort: Bayern

Beruf: Programmierer

  • Private Nachricht senden

9

01.01.2010, 14:16

danke C--, schonmal ein problem weniger :D
IDE: Visual Studio Express 2008[in use]
Visual Studio 2008
SDK: DirectX SDK (August 2009)
o Windoof7 ultimate

Werbeanzeige