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

11.05.2010, 17:58

Fehler beim einbinden der Datei DXErr9.h

Hallo,
Ich habe mir die Dritte auflage von Spieleprogrammieren mit C++ und DirectX gekauft und dann auch gleich losgelegt.
Doch jetzt bin ich gerade dabei . Nun bin ich bei Übungsaufgabe 1 Hängengeblieben, bei der man ein Programm schreiben muss, dass etwas ins Logbuch schreiben soll.
Das Programm sieht folgendermasen aus:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
#include <TriBase.h>
int main()
{
    if(tbInit())
    {
        //blabla
    } else {
        char test='HI';
        tbWriteToLog("BLABLABLA %s\n",test);
    }
    tbExit();
}



Nun kommt jedoch immer dieser Fehler:

Zitat

Fehler 1 fatal error C1083: Datei (Include) kann nicht geöffnet werden: "DXErr9.h": No such file or directory c:\tribase\include\tribase.h 46

Ich habe hier im Forum schon gesehen, dass hier steht, dass wenn man eine neuere Version von Microsoft SDK besitzt, dass man dann die 9 Herauslöschen soll.
Das habe ich auch gemacht doch nun kommen folgende fehlermeldungen heraus:

Zitat

Fehler 6 fatal error LNK1120: 3 nicht aufgelöste externe Verweise. C:\Users\Tobi\Desktop\ProgrammierenLernen\Buchprojekte\Debug\Buchprojekte.exe
Warnung 1 warning C4305: 'Initialisierung': Verkürzung von 'int' in 'char' c:\users\tobi\desktop\programmierenlernen\buchprojekte\test.cpp 8
Warnung 2 warning C4309: 'Initialisierung': Verkürzung eines konstanten Wertes c:\users\tobi\desktop\programmierenlernen\buchprojekte\test.cpp 8
Fehler 3 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) enum tbResult __cdecl tbExit(void)" (__imp_?tbExit@@YA?AW4tbResult@@XZ)" in Funktion "_main". test.obj
Fehler 4 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) enum tbResult __cdecl tbWriteToLog(char *,...)" (__imp_?tbWriteToLog@@YA?AW4tbResult@@PADZZ)" in Funktion "_main". test.obj
Fehler 5 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) enum tbResult __cdecl tbInit(void)" (__imp_?tbInit@@YA?AW4tbResult@@XZ)" in Funktion "_main". test.obj

Ich suche nun schon einige Stunden aber ich finde den Fehler nicht.

Ich benutze DirectX 11 (Sagt mir Windows) und benutze das SDK von Februar 2010.
Das Platform SDK habe ich auch installiert.

Ich würde mich um Antworten sehr Freuen!

Mit freundlichen Grüßen

supertobs

2

11.05.2010, 18:23

Nimm die 9 raus, dann sollte es gehen.
Also DXErr.h statt DXErr9.h
Analog bei der Lib.

Und: Willkommen im Forum! :)
fka tm

3

11.05.2010, 18:25

Das habe ich schon gemacht:

Zitat

Ich habe hier im Forum schon gesehen, dass hier steht, dass wenn man eine neuere Version von Microsoft SDK besitzt, dass man dann die 9 Herauslöschen soll.
aber es kommen auch wieder fehler heraus:

Zitat

Fehler 6 fatal error LNK1120: 3 nicht aufgelöste externe Verweise. C:\Users\Tobi\Desktop\ProgrammierenLernen\Buchprojekte\Debug\Buchprojekte.exe
Warnung 1 warning C4305: 'Initialisierung': Verkürzung von 'int' in 'char' c:\users\tobi\desktop\programmierenlernen\buchprojekte\test.cpp 8
Warnung 2 warning C4309: 'Initialisierung': Verkürzung eines konstanten Wertes c:\users\tobi\desktop\programmierenlernen\buchprojekte\test.cpp 8
Fehler 3 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) enum tbResult __cdecl tbExit(void)" (__imp_?tbExit@@YA?AW4tbResult@@XZ)" in Funktion "_main". test.obj
Fehler 4 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) enum tbResult __cdecl tbWriteToLog(char *,...)" (__imp_?tbWriteToLog@@YA?AW4tbResult@@PADZZ)" in Funktion "_main". test.obj
Fehler 5 error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) enum tbResult __cdecl tbInit(void)" (__imp_?tbInit@@YA?AW4tbResult@@XZ)" in Funktion "_main". test.obj


4

11.05.2010, 18:28

Hast du die relevanten Dateien (cpp, h) deinem Projekt hinzugefügt?
Sowie die Tribase.lib oder TribaseD.lib?
fka tm

5

11.05.2010, 18:35

ich hab die Dateien nun oben als #include eingefügt.
Doch jetzt meldet er folgendes:
Fehler 1 fatal error C1083: Datei (Include) kann nicht geöffnet werden: "Tribase.lib": No such file or directory c:\users\tobi\desktop\programmierenlernen\buchprojekte\test.cpp 2

6

11.05.2010, 18:39

Dann wird die Pfadangabe zum Lib-Ordner der Tribase wohl noch benötigt.
Siehe Projekteinstellungen - Linker -> Zusätzliche Bibliotheksverzeichnisse.
fka tm

7

11.05.2010, 18:41

Man darf nicht einfach #include <Tribase.lib> machen.
Du musst in die Projekteigenschaften unter dem Punkt Linker die Bibliotheken im Punkt zusaetzliche Abhaengigkeiten eintragen.

8

11.05.2010, 18:48

Man darf nicht einfach #include machen.
Du musst in die Projekteigenschaften unter dem Punkt Linker die Bibliotheken im Punkt zusaetzliche Abhaengigkeiten eintragen.

Ok unter Projekteigenschaften habe ich den Punkt Linker.
Aber leider giebt es dort keinen Punkt zusätzliche abhängigkeiten!
Ich benutze Microsoft Visual C++ 2008 Express wenns hilft.
Sorry aber ich bin halt noch blutiger Anfänger

9

11.05.2010, 18:52

Unter Linker -> Allgemein und Linker -> Eingabe
fka tm

10

12.05.2010, 16:13

Ok. ich habe die Datei Tribase.lib unter diesem Punkt eingefügt und die ganzen Tribase includes (außer der Tribase.h) und die Datei lässt sich Komlimieren. Doch dann kommt immer die Meldung, dass TriBase.dll nicht gefunden wurde.

Werbeanzeige