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

DX9

unregistriert

1

19.01.2008, 17:42

Problem (wieder ein mal)

Hallo,
ich bin's wieder. Ich habe schon wieder ein Problem. Folgendes zeigt
der Compiler beim compilieren vom 2. Beispiel für Direct3D an:

Quellcode

1
2
3
4
5
6
7
1>c:\users\jojo\documents\visual studio 2005\projects\tribase\include\dshowbaseclasses\wxutil.h(384) : warning C4793: "__asm": Systemeigener Code für die void *memchrInternal(const void *,int,size_t)-Funktion wird generiert.
1>        c:\users\jojo\documents\visual studio 2005\projects\tribase\include\dshowbaseclasses\wxutil.h(379): Siehe Deklaration von 'memchrInternal'
1>C:\Users\Jojo\Documents\Visual Studio 2005\Projects\Allgemeines\Allgemeines.rc(20) : error C2143: Syntaxfehler: Es fehlt ';' vor 'Konstante'
1>C:\Users\Jojo\Documents\Visual Studio 2005\Projects\Allgemeines\Allgemeines.rc(20) : error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt.
1>C:\Users\Jojo\Documents\Visual Studio 2005\Projects\Allgemeines\Allgemeines.rc(21) : warning C4068: Unbekanntes Pragma
1>.\main.cpp(47) : error C2065: 'Render': nichtdeklarierter Bezeichner
1>.\main.cpp(56) : error C2365: "Render": Erneute Definition; vorherige Definition war "Ehemals unbekannter Bezeichner".


Wieder die Frage was die erste Warnung betrifft. Dann kommen
irgendwelche Fehler die in der Allgemeines.rc auftaucht (im Buch stand
resource.h; ich habe sie mit Allgemeines.rc ausgetauscht). Und dann
kommt anscheinend noch ein Fehler wegen:

C-/C++-Quelltext

1
tbDoMessageLoop(Render,Move);


Zuerst habe ich es so wie im Buch gemacht, aber dann hat er gemeckert,
dass die Funktionen keinen Prototypen haben, deshalb habe ich ihnen
dann einen gegeben. Seit dem zeigt er mir das an.

Vielen Dank!!! :)

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

2

19.01.2008, 18:15

ein quellcodeausschnitt mit der fraglichen stell Render etc. wäre sehr hilfreich!

DX9

unregistriert

3

19.01.2008, 18:28

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
#include <windows.h>
#include <tribase.h>
#include "C:\Users\Jojo\Documents\Visual Studio 2005\Projects\Allgemeines\InitWindow.h"
#include "C:\Users\Jojo\Documents\Visual Studio 2005\Projects\Allgemeines\Direct3DEnum.h"
#include "C:\Users\Jojo\Documents\Visual Studio 2005\Projects\Allgemeines\InitDirect3D.h"
#include "C:\Users\Jojo\Documents\Visual Studio 2005\Projects\Allgemeines\Allgemeines.rc"

tbResult Render(float fNumSecsPassed);
tbResult Move(float fNumSecsPassed);

int WINAPI WinMain(HINSTANCE hINSTANCE,
                   HINSTANCE hPrevInstance,
                   char* pcCmdLine,
                   int iShowCmd) {
   tbInit();
   SDirect3DParameters Direct3DParameters;
   tbResult Result = GetDirect3DParameters(&Direct3DParameters);
   if (Result == TB_ERROR) {
       MessageBox(NULL,"Fehler beim Abzählen","Fehler",
           MB_OK | MB_ICONEXCLAMATION);
       tbExit();
       return 1;
   }
   else if (Result == TB_CANCELED) {
       tbExit();
       return 0;
   }

   if (InitWindow(Direct3DParameters.VideoMode.Width,
                  Direct3DParameters.VideoMode.Height,
                  "Beispielprogramm",
                  NULL)) {
      MessageBox(NULL,"Fehler beim Erzeugen des Fensters!","Fehler",
          MB_OK | MB_ICONEXCLAMATION);
      tbExit();
      return 1;
   }

   if (InitDirect3D(&Direct3DParameters,g_hWindow)) {
       MessageBox(g_hWindow,"Fehler beim Initialisieren von Direct3D!","Fehler",
           MB_OK | MB_ICONEXCLAMATION);
       ExitWindow();
       tbExit();
       return 1;
   }
   
   tbDoMessageLoop(Render,Move);

   ExitDirect3D();
   ExitWindow();
   tbExit();

   return 0;
}

tbResult Render(float fNumSecsPassed) {
    return TB_OK;
}

tbResult Move(float fNumSecsPassed) {
    return TB_OK;
}

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

4

19.01.2008, 18:34

C-/C++-Quelltext

1
2
3
#include "C:\Users\Jojo\Documents\Visual Studio 2005\Projects\Allgemeines\InitWindow.h" 
#include "C:\Users\Jojo\Documents\Visual Studio 2005\Projects\Allgemeines\Direct3DEnum.h" 
#include "C:\Users\Jojo\Documents\Visual Studio 2005\Projects\Allgemeines\InitDirect3D.h"


wasn das oO. nast du nochma was eigenens gemacht?

ansonsten ist mir erstmal nichst aufgefallen, zeigmal die codezeilen wo die errors sind. ich denke dass an der render und move allet schick ist.

5

19.01.2008, 18:41

Schmeiss das mal raus:

C-/C++-Quelltext

1
#include "C:\Users\Jojo\Documents\Visual Studio 2005\Projects\Allgemeines\Allgemeines.rc"

DX9

unregistriert

6

20.01.2008, 10:53

Man muss ja dem Compiler sagen, wo die ganzen Dateien sind, oder???
In meinem Fall sind sie halt bei den Projekt Dateien.

Das weglassen von der Allgemeines.rc habe ich schon ausprobiert,
dann meldet der Compiler folgendes:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
1>main.obj : error LNK2020: Nicht aufgelöstes Token (0A000119) "struct HWND__ * g_hWindow" (?g_hWindow@@3PAUHWND__@@A).
1>main.obj : error LNK2028: Nicht aufgelöstes Token (0A000136) ""enum tbResult __cdecl GetDirect3DParameters(struct SDirect3DParameters *)" (?GetDirect3DParameters@@$$FYA?AW4tbResult@@PAUSDirect3DParameters@@@Z)", auf das in Funktion ""extern "C" int __stdcall WinMain(struct HINSTANCE__ *,struct HINSTANCE__ *,char *,int)" (?WinMain@@$$J216YGHPAUHINSTANCE__@@0PADH@Z)" verwiesen wird.
1>main.obj : error LNK2028: Nicht aufgelöstes Token (0A00013A) ""enum tbResult __cdecl ExitWindow(void)" (?ExitWindow@@$$FYA?AW4tbResult@@XZ)", auf das in Funktion ""extern "C" int __stdcall WinMain(struct HINSTANCE__ *,struct HINSTANCE__ *,char *,int)" (?WinMain@@$$J216YGHPAUHINSTANCE__@@0PADH@Z)" verwiesen wird.
1>main.obj : error LNK2028: Nicht aufgelöstes Token (0A00019F) ""enum tbResult __cdecl InitWindow(int,int,char *,struct HICON__ *)" (?InitWindow@@$$FYA?AW4tbResult@@HHPADPAUHICON__@@@Z)", auf das in Funktion ""extern "C" int __stdcall WinMain(struct HINSTANCE__ *,struct HINSTANCE__ *,char *,int)" (?WinMain@@$$J216YGHPAUHINSTANCE__@@0PADH@Z)" verwiesen wird.
1>main.obj : error LNK2028: Nicht aufgelöstes Token (0A00020B) ""enum tbResult __cdecl InitDirect3D(struct SDirect3DParameters *,struct HWND__ *)" (?InitDirect3D@@$$FYA?AW4tbResult@@PAUSDirect3DParameters@@PAUHWND__@@@Z)", auf das in Funktion ""extern "C" int __stdcall WinMain(struct HINSTANCE__ *,struct HINSTANCE__ *,char *,int)" (?WinMain@@$$J216YGHPAUHINSTANCE__@@0PADH@Z)" verwiesen wird.
1>main.obj : error LNK2028: Nicht aufgelöstes Token (0A00021A) ""enum tbResult __cdecl ExitDirect3D(void)" (?ExitDirect3D@@$$FYA?AW4tbResult@@XZ)", auf das in Funktion ""extern "C" int __stdcall WinMain(struct HINSTANCE__ *,struct HINSTANCE__ *,char *,int)" (?WinMain@@$$J216YGHPAUHINSTANCE__@@0PADH@Z)" verwiesen wird.
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""enum tbResult __cdecl ExitDirect3D(void)" (?ExitDirect3D@@$$FYA?AW4tbResult@@XZ)" in Funktion ""extern "C" int __stdcall WinMain(struct HINSTANCE__ *,struct HINSTANCE__ *,char *,int)" (?WinMain@@$$J216YGHPAUHINSTANCE__@@0PADH@Z)".
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""enum tbResult __cdecl ExitWindow(void)" (?ExitWindow@@$$FYA?AW4tbResult@@XZ)" in Funktion ""extern "C" int __stdcall WinMain(struct HINSTANCE__ *,struct HINSTANCE__ *,char *,int)" (?WinMain@@$$J216YGHPAUHINSTANCE__@@0PADH@Z)".
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""enum tbResult __cdecl InitDirect3D(struct SDirect3DParameters *,struct HWND__ *)" (?InitDirect3D@@$$FYA?AW4tbResult@@PAUSDirect3DParameters@@PAUHWND__@@@Z)" in Funktion ""extern "C" int __stdcall WinMain(struct HINSTANCE__ *,struct HINSTANCE__ *,char *,int)" (?WinMain@@$$J216YGHPAUHINSTANCE__@@0PADH@Z)".
1>main.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""struct HWND__ * g_hWindow" (?g_hWindow@@3PAUHWND__@@A)".
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""enum tbResult __cdecl InitWindow(int,int,char *,struct HICON__ *)" (?InitWindow@@$$FYA?AW4tbResult@@HHPADPAUHICON__@@@Z)" in Funktion ""extern "C" int __stdcall WinMain(struct HINSTANCE__ *,struct HINSTANCE__ *,char *,int)" (?WinMain@@$$J216YGHPAUHINSTANCE__@@0PADH@Z)".
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""enum tbResult __cdecl GetDirect3DParameters(struct SDirect3DParameters *)" (?GetDirect3DParameters@@$$FYA?AW4tbResult@@PAUSDirect3DParameters@@@Z)" in Funktion ""extern "C" int __stdcall WinMain(struct HINSTANCE__ *,struct HINSTANCE__ *,char *,int)" (?WinMain@@$$J216YGHPAUHINSTANCE__@@0PADH@Z)".
1>C:\Users\Jojo\Documents\Visual Studio 2005\Projects\kjh\Debug\DirectX Projekt.exe : fatal error LNK1120: 12 nicht aufgelöste externe Verweise.

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

7

20.01.2008, 11:04

da werden einige librarys nicht gelinkt. überprüfe nochmal deine einstellungen und anscheinend auch psdk

8

20.01.2008, 11:22

Du machst den selben Fehler immer wieder! Hast du das, was ich neulich bezüglich "Verweis auf nicht aufgelöstes externes Symbol" geschrieben habe, nicht gelesen? Ich konnte deinen Code übrings problem- und fehlerlos kompilieren. Also prüf nochmal, ob du alle Libs eingebunden hast. Hier fehlt vermutlich die TriBase.lib bzw. TriBaseD.lib...

DX9

unregistriert

9

20.01.2008, 11:31

Und wo muss ich jetzt was alles linken, damit das funktioniert???
Ich habe glaube ich den Überblick verloren!!! :cry:

10

20.01.2008, 11:34

Don't get confused. :oops: :)
Zum letzen mal:
Projekteigenschaften - Linker - Eingabe -> Zusätzliche Abhängigkeiten

Werbeanzeige