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

Lerikson

Alter Hase

  • »Lerikson« ist der Autor dieses Themas

Beiträge: 412

Wohnort: nördlich von Hamburg

Beruf: Schüler

  • Private Nachricht senden

1

20.09.2009, 12:38

DXErr9.h konnte nicht gefunden werden (no such a file)

Hi,
ich wollte (nachdem ich mein Vista neu installieren musste) mich noch einmal an die 3D Spieleprogrammierung wagen, aber beim erstellen des "Ersten Fensters" (poste den Code damit jeder weiß welches ich meine ;))

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
// 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 "InitWindow.h"
#include "Resource.h"

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

// 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 bekomme immer folgende Fehlermeldung OBWOHL, DirectX SDK, Platform SDK, und Tribase Engine richtig gelinkt werden/installiert sind

Zitat

1>c:\programmierung\c++\bücher\3d spieleprogrammierung mit directx9\tribase\include\tribase.h(46) : fatal error C1083: Datei (Include) kann nicht geöffnet werden: "DXErr9.h": No such file or directory
1>main.cpp
1>c:\programmierung\c++\bücher\3d spieleprogrammierung mit directx9\tribase\include\tribase.h(46) : fatal error C1083: Datei (Include) kann nicht geöffnet werden: "DXErr9.h": No such file or directory


meine Linkeinstellungen:

Zitat

tribased.lib d3d9.lib DXErr9.lib kernel32.lib user32.lib gdi32.lib winspool.lib comctl32.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib
(so aus dem Beispielprojekt übernommen)

Fehler kommt aus der Tribase.h aber eigentlich müsste doch alles richtig sein. schlieslich habe ich an der Tribase Engine nix verändert...-.-

Ich hatte diesen Fehler früher nicht, und habe auch mit der Boardsuche keine exitierenden Euinträge zu diesem Fehler gefunden, hoffe ihr könnt mir helfen,
mfg Lerikson!

2

20.09.2009, 14:10

Hast du in den Projekteinstellungen - Linker -> Zusätzliche Bibliotheksverzeichnisse die Pfade zu den SDKs entsprechend eingetragen?
Analog bei C++ -> Zusätzliche Includeverzeichnisse ?
fka tm

Lerikson

Alter Hase

  • »Lerikson« ist der Autor dieses Themas

Beiträge: 412

Wohnort: nördlich von Hamburg

Beruf: Schüler

  • Private Nachricht senden

3

20.09.2009, 14:15

ja das ist alles eingetragen, (hat das SDK selbstständig eingetragen und die Pfade stimmen) aber er findets trotzdem nich-.-

MrCube

Frischling

Beiträge: 4

Beruf: Informatik Student

  • Private Nachricht senden

4

20.09.2009, 14:16

Hatte anfangs auch ein Problem mit DXErr9.lib, das lag dadran, dass das "X" klein geschrieben werden musste, dann hats funktioniert.

Versuch mal genau so die zusätzlichen Abhängigkeiten einzugeben.

D3D9.lib DxErr9.lib TriBaseD.lib

Mehr brauchst du zum Beispielprogramm nicht.
Desweiteren müssen eben von Platform SDK, DirectX SDK und TriBase die lib-Ordner und include-Ordner gelinkt sein, aber dass hast du ja gemacht.

Hoffe es funktioniert und hilft dir weiter.

mfg
MrCube

5

20.09.2009, 14:26

Ist doch wurscht, wie man's schreibt.
dXErR.LiB geht auch.
fka tm

MrCube

Frischling

Beiträge: 4

Beruf: Informatik Student

  • Private Nachricht senden

6

20.09.2009, 14:38

ok, das wusste ich nicht. Jedenfalls find ichs komisch, dass es bei mir danach ging, als ich das X klein geschrieben hab^^

Sorry

7

20.09.2009, 14:42

Kein Problem, Herr Würfel :lol:!
Willkommen erstmal im Forum!

@Topic: Windows ist nicht Case Sensitive
fka tm

8

20.09.2009, 15:24

Du verwendest mit sicherheit das neue DXSDK August 2009, oder? Da wurde nämlich einiges geändert.

Ersetze in der TriBase.h die alten Zeilen mit den folgenden neuen:

Zeile 46:

Quellcode

1
#include <DxErr.h>

Zeile 82:

Quellcode

1
#define TB_ERROR_DIRECTX(f, x, r)       {tbWriteToLog("<tr><td><font size=\"2\"><b><font color=\"#FF0000\">FEHLER:</font></b> Der Aufruf von <i>%s</i> verursachte den DirectX-Fehler <i>%s</i>! Beschreibung: <i>%s</i></font></td><td><font size=\"2\"> (<i>%s</i>, Zeile <i>%d</i>, Funktion <i>%s</i>)</font></td></tr>", (f), DXGetErrorString((x)), DXGetErrorDescription((x)), tbRemoveDir(__FILE__), __LINE__, __TB_FUNCTION__); return (r);}


Zusätzlich musst du statt der "DxErr9.lib" die "DxErr.lib" linken.

Lerikson

Alter Hase

  • »Lerikson« ist der Autor dieses Themas

Beiträge: 412

Wohnort: nördlich von Hamburg

Beruf: Schüler

  • Private Nachricht senden

9

21.09.2009, 08:44

Ersteinmal vielen Dank für die Hilfe, dieses Problem scheint beseitigt zu sein,
aber: jetzt kann ich immer noch nicht das Programm ausführen, weil:

Zitat

..\..\..\..\..\..\..\Programmierung\C++\Bücher\3D Spieleprogrammierung mit DirectX9\Beispiele\Kapitel 02\01 - Fenster\Fenster.rc(10) : fatal error RC1015: cannot open include file 'mfc/afxres.h'.

immer dieser Fehler in der Fenster.rc Datei auftritt (ich poste sie unten noch mal, aber muss dort etwa auch etwas geändert werden??)

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
66
67
68
69
70
71
// Microsoft Visual C++ generated resource script.

//

#include "resource.h"

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////

//

// Generated from the TEXTINCLUDE 2 resource.

//

#include "mfc/afxres.h"

/////////////////////////////////////////////////////////////////////////////

#undef APSTUDIO_READONLY_SYMBOLS

/////////////////////////////////////////////////////////////////////////////

// Deutsch (Deutschland) resources


#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEU)
#ifdef _WIN32
LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
#pragma code_page(1252)
#endif //_WIN32


#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////

//

// TEXTINCLUDE

//


1 TEXTINCLUDE 
BEGIN
    "resource.h\0"
END

2 TEXTINCLUDE 
BEGIN
    "#include ""afxres.h""\r\n"
    "\0"
END

3 TEXTINCLUDE 
BEGIN
    "\r\n"
    "\0"
END

#endif    // APSTUDIO_INVOKED



/////////////////////////////////////////////////////////////////////////////

//

// Icon

//


// Icon with lowest ID value placed first to ensure application icon

// remains consistent on all systems.

IDI_ICON1               ICON                    "Icon1.ico"
#endif    // Deutsch (Deutschland) resources

/////////////////////////////////////////////////////////////////////////////




#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////

//

// Generated from the TEXTINCLUDE 3 resource.

//



/////////////////////////////////////////////////////////////////////////////

#endif    // not APSTUDIO_INVOKED

10

21.09.2009, 09:05

Lass mal das "mfc/" weg, wenn das nicht hilft, ersetze es mal mit "windows.h".

Werbeanzeige