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

20.10.2005, 07:26

Frage zu Seite 132

Hallo,


Ich habe ein Problem mit den Include Dateien in dem Programm auf Seite 132.

Ich habe alle nötigen Libs eingebunden und auch wie dort beschrieben die Dateien includet.

C-/C++-Quelltext

1
2
3
4
5
6
#include <Windows.h>
#include <TriBase.h>
#include "InitWindow.h"
#include "Direct3DEnum.h"
#include "InitDirect3D.h"
#include "Resource.h"


Die Dateien "InitWindow.h"
"Direct3DEnum.h"
"InitDirect3D.h"
"Resource.h" befinden sich alle im Projekt ORdner.

Dennoch kommt diese Fehlermeldung.


Quellcode

1
2
3
4
5
6
7
8
9
10
11
Linker-Vorgang läuft...
132.obj : error LNK2001: Nichtaufgeloestes externes Symbol "enum tbResult __cdecl ExitDirect3D(void)" (?ExitDirect3D@@YA?AW4tbResult@@XZ)
132.obj : error LNK2001: Nichtaufgeloestes externes Symbol "enum tbResult __cdecl ExitWindow(void)" (?ExitWindow@@YA?AW4tbResult@@XZ)
132.obj : error LNK2001: Nichtaufgeloestes externes Symbol "enum tbResult __cdecl InitDirect3D(struct SDirect3DParameters *,struct HWND__ *)" (?InitDirect3D@@YA?AW4tbResult@@PAUSDirect3DParameters@@PAUHWND__@@@Z)
132.obj : error LNK2001: Nichtaufgeloestes externes Symbol "struct HWND__ * g_hWindow" (?g_hWindow@@3PAUHWND__@@A)
132.obj : error LNK2001: Nichtaufgeloestes externes Symbol "enum tbResult __cdecl InitWindow(int,int,char *,struct HICON__ *)" (?InitWindow@@YA?AW4tbResult@@HHPADPAUHICON__@@@Z)
132.obj : error LNK2001: Nichtaufgeloestes externes Symbol "enum tbResult __cdecl GetDirect3DParameters(struct SDirect3DParameters *)" (?GetDirect3DParameters@@YA?AW4tbResult@@PAUSDirect3DParameters@@@Z)
Debug/Seite_132.exe : fatal error LNK1120: 6 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.

Seite_132.exe - 7 Fehler, 0 Warnung(en)



Ich hoffe jemand kann mir helfen. Der restliche Quellcode ist richtig. :( Aber ich komme wegen den link Dateien nicht weiter.

MfG
Fury

2

20.10.2005, 08:40

Also für mich sieht es so aus, als hättest du trotz deiner Aussage, alle Libs eingebunden zu haben, doch noch eine vergessen.
Du kannst Libs auch mit dem Präprozessorbefehl

C-/C++-Quelltext

1
#pragma comment(lib, "Pfad")

einbinden.

Und da gibts doch auch noch im Ordner "Allgemeines" glaub ich ein paar Header, die zB "g_hwnd" und so weiter definieren. Hast du die auch dabei? Ich glaube nämlich, dass du die brauchst.

Und drittes Problem lönnte sein, dass du die TriBase.dll (oder TriBaseD.dll) nicht im Projektordner hattest. Das war nämlich bei mir mal eine Fehlerursache.

Ich hoffe, ich konnte helfen.

F0GX

3

20.10.2005, 21:02

Vielen Dank erstmal!

Die Tribalse.dll und D.dll sind bei mir im win32^^ oder sys32^^ Das geht 100% was für ne h aus allgemeines muss ich da noch einbinden? Das steht doch nicht drin!
Die libs sind 100% driN!

UDn ich ahbe ja wie gesagt die ganzen includes drin!

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

4

20.10.2005, 21:22

Hast du die libs auch gelinkt?
PRO Lernkurs "Wie benutze ich eine Doku richtig"!
CONTRA lasst mal die anderen machen!
networklibbenc - Netzwerklibs im Vergleich | syncsys - Netzwerk lib (MMO-ready) | Schleichfahrt Remake | Firegalaxy | Sammelsurium rund um FPGA&Co.

5

24.10.2005, 18:50

Ja ich habe alle libs gelinkt.
Das sind die TribaseD die DXErr9 und die D3D9

6

26.10.2005, 12:21

Sorry, hab überlesen, dass du die "InitWindow.h" und so included hattest.

Aber was ist mit "d3d9.h"?
Oder wird die von der TriBase mit eingebunden (weiß es nicht mehr)?

Trotzdem hat der Compiler noch ein paar Probleme, zB mit "InitWindow.h":

C-/C++-Quelltext

1
2
132.obj : error LNK2001: Nichtaufgeloestes externes Symbol "struct HWND__ * g_hWindow" (?g_hWindow@@3PAUHWND__@@A) 
132.obj : error LNK2001: Nichtaufgeloestes externes Symbol "enum tbResult __cdecl InitWindow(int,int,char *,struct HICON__ *)" (?InitWindow@@YA?AW4tbResult@@HHPADPAUHICON__@@@Z) 


Außer der Sache mit "d3d9.h" wüsst ich nichts mehr, was man machen könnte.

F0GX

7

28.10.2005, 16:03

Ne im Buch stehen ja auch nur die die ich eingebunden habe. :( JEtzt kann iuch nicht mehr weitermachen ;(

rewb0rn

Supermoderator

Beiträge: 2 773

Wohnort: Berlin

Beruf: Indie Game Dev

  • Private Nachricht senden

8

28.10.2005, 21:20

Warum benutzt du egtl die Tribase Header und die Header die verwendet werden, bevor im Buch mit der Tribase gearbeitet wird? Die Tribase kann all das, was in den 3 Headern steckt besser und noch mehr. Wenn du irgendwas kombinierst, dann nimm nur 1 von beidem. Wenns allerdings so im Buch steht (was ich nicht glaube) dann hab ich nix gesagt :D

9

30.10.2005, 13:21

Schau mal bitte nach auf der Seite 132 :( Ich komme echt nimmer weiter! :(((

Ich dachte ich habe alles so gemacht wies da steht!

__stdcall*

Treue Seele

Beiträge: 101

Wohnort: Dauchingen

Beruf: Schüler

  • Private Nachricht senden

10

30.10.2005, 14:05

Hi,

bei mir sind die Settings so:

1. Das INCLUDE Verzeichnis der TriBase Engine MUSS bei VC eingetragen sein.

2. Das LIB Verzeichnis der TB ebenfalls.

3. Falls du VC++ 6.0 Verwendest musst du die neue BASETSD.h includieren.

Anleitung dazu: https://www.spieleprogrammierer.de/phpBB2/viewtopic.php?t=3426

der "Allgemeines" Ordner liegt bei mir in C:\

Ich hab ALLE Dateien dem Projekt hinzugefügt

und du musst die TriBase.lib, TriBased.lib, D3D9.lib und die DXERR9.lib einbinden.

Für Dieses Beispiel Prog musst du die "resource.h" von der CD kopieren

(befindet sich im Beispiele Ordner unter Kap.2 und Direct3D Abzählung)

Werbeanzeige