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

08.10.2003, 16:58

unresolved symbols

hi

zur besseren übung habe ich das beispielprogramm "abzählung" selbst eingetippt.
der source code stimmt mit dem besipiel überein.
auch hab ich die folgenden libraries in den project settings eingetragen :
d3d9.lib dxerr9.lib tribased.lib

(für den release die tribase.lib, aber ich compiliere momentan eh im debug modus)

trotzdem bekomme ich folgende unresolved symbols :

Quellcode

1
2
3
4
5
as Erste Dreieck.obj : error LNK2001: unresolved external symbol "enum tbResult  __cdecl ExitWindow(void)" (?ExitWindow@@YA?AW4tbResult@@XZ)
Das Erste Dreieck.obj : error LNK2001: unresolved external symbol "enum tbResult  __cdecl InitDirect3D(struct SDirect3DParameters *,struct HWND__ *)" (?InitDirect3D@@YA?AW4tbResult@@PAUSDirect3DParameters@@PAUHWND__@@@Z)
Das Erste Dreieck.obj : error LNK2001: unresolved external symbol "struct HWND__ *  g_hWindow" (?g_hWindow@@3PAUHWND__@@A)
Das Erste Dreieck.obj : error LNK2001: unresolved external symbol "enum tbResult  __cdecl InitWindow(int,int,char *,struct HICON__ *)" (?InitWindow@@YA?AW4tbResult@@HHPADPAUHICON__@@@Z)
Das Erste Dreieck.obj : error LNK2001: unresolved external symbol "enum tbResult  __cdecl GetDirect3DParameters(struct SDirect3DParameters *)" (?GetDirect3DParameters@@YA?AW4tbResult@@PAUSDirect3DParameters@@@Z)


das besipsiel "abzählung" lässt sich ohne probleme linken...

woran kanns liegen ?

vielen dank schonmal... ;D

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

08.10.2003, 17:08

Du musst die Dateien im "Allgemeines"-Ordner mit zum Projekt packen. So wie ich es auch getan habe, und wie es auch deutlich im Buch erwähnt ist... ;)

3

08.10.2003, 17:33

superschnelle antwort !!
das ist fein, ABER es geht leider dennoch nicht (was mich auch gewundert hätte).

habe den ordner "allgemeines" jetzt relativ zu meinem projektordner genauso gelegt wie er relativ zum ordner "02 - Direct3D-Abzählung" liegt.
also folgendermassen :
mein projektordner (hier liegen die source codes):
"E:\dev\VC++ projects\tribase projects\Übungen zum Buch\Kapitel 2\Das Erste Dreieck"
der ordner "allgemeines":
"E:\dev\VC++ projects\tribase projects\Übungen zum Buch\Allgemeines"

zudem denke ich, dass dies nur für die header-dateien eine rolle spielt, welche ich aber eh mit kompletten pfad einbinde :

Quellcode

1
2
3
#include "E:\dev\VC++ projects\tribase projects\Übungen zum Buch\Allgemeines\InitWindow.h"
#include "E:\dev\VC++ projects\tribase projects\Übungen zum Buch\Allgemeines\Direct3DEnum.h"
#include "E:\dev\VC++ projects\tribase projects\Übungen zum Buch\Allgemeines\InitDirect3D.h"


das problem bei den unresolved links sind aber doch die .lib oder täusche ich mich ?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

08.10.2003, 17:43

Nein, "unresolved symbols" werden nicht nur aus LIBs gezogen, sondern natürlich auch aus anderen Quellcodedateien. Und diese musst Du zu Deinem Projekt hinzufügen, und zwar nicht nur den Ordner, sondern die einzelnen CPP-Dateien im Visual C++ zum Projekt hinzufügen.

5

08.10.2003, 18:02

AHA :wirbel:

jetzt funktioniert es wunderbar.

vielen dank !!

Werbeanzeige