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

05.12.2009, 21:25

TriBase.h nicht gefunden

Hallo,

ich wollte gerade mein erstes Projekt starten hab alles so gemacht wie es im Buch steht (also sdk und plattform heruntergeladen und installiert, verzeichnisse eingetragen...).

Ich hab jetzt aber doch was falsch gemacht. Denn bei folgendem code

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <windows.h>
#include <TriBase.h>


int WINAPI WinMain(HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   LPSTR lpCmdLine,
                   int nCmdShow )
{
    tbInit();
    HICON test = LoadIcon(hInstance, MAKEINTRESOURCE(101));
   
    tbResult a = InitWindow(640,480,"Test1",MAKEINTRESOURCE(101)); 
   
   return 0;
}



kommt folgender Fehler

C-/C++-Quelltext

1
fatal error C1083: Datei (Include) kann nicht geöffnet werden: "TriBase.h": No such file or directory


Hab in vc++ verzeichnisse folgendes eingetragen:

C:\Programme\Visual Studio 2008\Projects\Spiele\Engines\TriBase\Include
C:\Programme\Visual Studio 2008\Projects\Spiele\Engines\TriBase\Lib
D:\Programme\Microsoft DirectX SDK (August 2009)\Include
D:\Programme\Microsoft DirectX SDK (August 2009)\Lib\x86
D:\Programme\Microsoft SDKs\Windows\v6.1\Include
D:\Programme\Microsoft SDKs\Windows\v6.1\Lib

und bei den Projekteigenschaften->Linker->Eingabe->zusätzliche Abhängigkeiten habe ich eingetragen:

TriBaseD.lib (debug)
TriBase.lib (release)

Arbeite mit Visual Studio Professionel 2008

Weis jetzt nicht so recht was ich falsch gemacht habe. Bei dem include Befehl könnte man ja mit "" anstatt <> die libary bekannt machen dann müsste man jedoch den kompletten pfad angeben. Wobei das ja eigentlich durch das eintragen der vc++ verzeichnisse bekannt sein müsste.

Kann mir jemand weiterhelfen

2

05.12.2009, 22:34

Hallo, kann nur versuchen dir mit meinem Halb-bis-gar-nicht-Wissen etwas zu helfen :) beschäftige mich auch noch nicht lang mit dem Thema.

Versuch als zusätzliche Abhängigkeiten:
dinput8.lib dxguid.lib kernel32.lib user32.lib gdi32.lib winspool.lib comctl32.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib
und schmeiss deine jetzigen raus?! die müssten ja schon durch die verlinkung in den Optionen bekannt sein...ansonsten wahrscheinlich zum hundertsten mal gucken ob alle vc++-verzeichnisse richtig eingebunden sind :? weil ansich deutet ja leider doch alles darauf hin das er etwas nicht öffnen kann. Vllt eventuell irgendwo noch nen schreibschutz oder sowas auf der Datei "TriBase.h"?! Meine mich zu erinnern das man das eventuell manuell umstellen muss.

So nebenbei, konnte den Code gerade bei mir compilieren, habe jedoch dann einen Fehler mit InitWindow bekommen. Fehlt hier vllt auch noch eine Bibliothek oder sonstiges?!

3

05.12.2009, 22:45

Ganz Trivial: Bist du sicher, dass die Datei in dem Ordner ist ? ;)
Ansonsten wie oben gesagt: Prüfen, ob du die Verzeichnisse in die Richtigen Kategorien eingetragen hast.
zu den Libs:
TriBase.lib ist schon ok, brauchste nich rauszuschmeissen.

zum nicht kompilieren lassen:
um init window benutzen zu können, musst du initWindow.h inkludieren.

4

08.12.2009, 20:22

ich hab jetzt mal so includiert

C-/C++-Quelltext

1
2
//#include <TriBase.h>

#include "C:\Programme\Visual Studio 2008\Projects\Spiele\Engines\TriBase.h

Dann findet sie die Header Datei.

@E122
Hab den Pfad kopiert und dann eingefügt. Außerdem kann man mit dem Grünen Häckchen kontrollieren ob Visual Studio den Pfad findet da dürte eigentlich nix falsch sein. Was meinst du mit den Richtigen Kategorien? Ich bin halt auf Extras-->Optionen-->Projekte und Projektmappen-->VC++-Verzeichnisse und hab da die Verzeichnisse eingetragen

also mein code sieht jetzt so aus:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <windows.h>
//#include <InitWindow.h>

//#include <TriBase.h>

#include "C:\Programme\Visual Studio 2008\Projects\Spiele\Engines\TriBase\Include\TriBase.h"


int WINAPI WinMain(HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   LPSTR lpCmdLine,
                   int nCmdShow )
{
    tbInit();
    HICON test = LoadIcon(hInstance, MAKEINTRESOURCE(101));
   
    tbResult a = InitWindow(640,480,"Test1",MAKEINTRESOURCE(101)); 
   
   return 0;
}


Jetzt kommt jedoch ein neuer Fehler:

C-/C++-Quelltext

1
fatal error C1083: Datei (Include) kann nicht geöffnet werden: "DXErr9.h": No such file or directory   c:\programme\visual studio 2008\projects\spiele\engines\tribase\include\tribase.h   46

Das ist eine Header datei die TriBase.h includiert. Hab ich grad festgestellt aber warum da jetzt ein fehler kommt ist mir nicht ganz klar.

@lustigerclown
für was brauch ich denn die zusätzlichen Abhängigkeiten? und wo soll ich die genau eintragen in Debug oder Release oder bei beiden?

5

08.12.2009, 20:34

Wenn du das Neue DirectX SDK benutzt, dann heisst die DxErr9.h, die in TriBase.h inkludiert wird nun DxErr.h . Das solltest du korrigieren, und dann die Tri-Base engine neu Kompilieren.

6

08.12.2009, 20:43

Ja hab grad den Forumseintrag "DXErr9.h konnte nicht gefunden werden (no such a file)" entdeckt.

Hab jetzt so wie du sagst ausgebessert und auch Zeile 82 so angepasst wie es in dem eintrag beschrieben ist.

Allerdings kommmt jetzt

C-/C++-Quelltext

1
fatal error C1083: Datei (Include) kann nicht geöffnet werden: "DShowBaseClasses\\Streams.h": No such file or directory    c:\programme\visual studio 2008\projects\spiele\engines\tribase\include\tribase.h   47

Anscheinend muss man da noch mehr Zeilen ausbessern. Weis da jemand bescheid?

7

11.12.2009, 17:37

Hab jetzt glaub ich den Fehler gefunden. Bei der Eingabe von den vc++ Verzeichnissen muss man bei Visual studio noch in einer combobox auswählen welche das sind. Also sprich include Verzeichnisse und Librarys. Das hab ich übersehen ^^. Naja jetzt muss ich nur noch die TriBase Engine neu erstellen dann sollte es funktionieren. Hoff ich zumindest.

Werbeanzeige