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

04.08.2008, 17:57

[Erledigt] Nicht aufgelöstes externes Symbol

Hi @ all
Mein Problem:
Wenn ich versuche ein Beispielprog aus dem Buch zu debuggen bekomme ich immer folgende Meldung:

Quellcode

1
2
3
4
5
6
7
8
1>Dreieck.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""struct HWND__ * g_hWindow" (?g_hWindow@@3PAUHWND__@@A)".
1>Dreieck.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""struct IDirect3DDevice9 * g_pD3DDevice" (?g_pD3DDevice@@3PAUIDirect3DDevice9@@A)".
1>Dreieck.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""enum tbResult __cdecl ExitWindow(void)" (?ExitWindow@@YA?AW4tbResult@@XZ)" in Funktion ""enum tbResult __cdecl ExitApplication(void)" (?ExitApplication@@YA?AW4tbResult@@XZ)".
1>Dreieck.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""enum tbResult __cdecl ExitDirect3D(void)" (?ExitDirect3D@@YA?AW4tbResult@@XZ)" in Funktion ""enum tbResult __cdecl ExitApplication(void)" (?ExitApplication@@YA?AW4tbResult@@XZ)".
1>Dreieck.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""enum tbResult __cdecl InitDirect3D(struct SDirect3DParameters *,struct HWND__ *)" (?InitDirect3D@@YA?AW4tbResult@@PAUSDirect3DParameters@@PAUHWND__@@@Z)" in Funktion ""enum tbResult __cdecl InitApplication(void)" (?InitApplication@@YA?AW4tbResult@@XZ)".
1>Dreieck.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""enum tbResult __cdecl InitWindow(int,int,char *,struct HICON__ *)" (?InitWindow@@YA?AW4tbResult@@HHPADPAUHICON__@@@Z)" in Funktion ""enum tbResult __cdecl InitApplication(void)" (?InitApplication@@YA?AW4tbResult@@XZ)".
1>Dreieck.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""enum tbResult __cdecl GetDirect3DParameters(struct SDirect3DParameters *)" (?GetDirect3DParameters@@YA?AW4tbResult@@PAUSDirect3DParameters@@@Z)" in Funktion ""enum tbResult __cdecl InitApplication(void)" (?InitApplication@@YA?AW4tbResult@@XZ)".
1>.\Debug/Dreieck.exe : fatal error LNK1120: 7 nicht aufgelöste externe Verweise.


Mit der Forensuche bin ich immer nur zu dem Ergebnis gekommen, bei den Linkereinstellungen unter zusätzliche Abhängigkeiten

Quellcode

1
TriBase.lib DXErr.lib Dxerr9.lib d3d9.lib d3dx9.lib dinput8.lib dxguid.lib winmm.lib odbc32.lib odbccp32.lib Gdi32.Lib User32.Lib AdvAPI32.Lib Comdlg32.lib Ole32.Lib Oleaut32.lib Comctl32.lib kernel32.lib shell32.lib

einzubinden, was ich jetzt auch gemacht habe, aber das Problem besteht immernoch.
Ich benutzte Visual Studio 2008 EE.
plz helft mir!

2

04.08.2008, 21:32

Guten Abend Alakazam

Hmmm, sieht mir so aus, als ob TriBaseD.lib fehlt.
Im Debuggmodus wird TriBAseD.lib benutzt, nur im Release TriBase.lib.

Also versuch mal die Release Version aus und link TriBaseD.lib mit.

mfg MMAnfänger

3

04.08.2008, 21:38

Danke für die schnelle antwort, aber wenn ich TriBaseD.lib eingebe ists genau das selbe...

4

04.08.2008, 21:43

Das Projekt benutzt noch InitWindow.h etc.., oder?
Bei solchen Linkerfehler hat es bei mir manchmal geholfen die eingebundenen Dateien ins Projekt hinzuzufügen. (weiß nicht warum)
[rechtsklick auf Header->DAtei Hinzufügen -> Vorhandene.......]

könnte helfen

5

04.08.2008, 21:48

Hey, so hats geklappt
Dickes Thx! :D

Werbeanzeige