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

22.11.2009, 14:14

Fehler mit Libs ?

Bei mir kommt immer der Fehler:


Zitat


------ Erstellen gestartet: Projekt: Fenster, Konfiguration: Debug Win32 ------
Verknüpfen...
Fenster.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) enum tbResult __cdecl tbDoMessageLoop(enum tbResult (__cdecl*)(float),enum tbResult (__cdecl*)(float),double)" (__imp_?tbDoMessageLoop@@YA?AW4tbResult@@P6A?AW41@M@Z0N@Z)" in Funktion "_WinMain@16".
.\Debug/Fenster.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
Das Buildprotokoll wurde unter "file://d:\Eigene Dateien\TriBase\Beispiele\Kapitel 02\01 - Fenster\Debug\BuildLog.htm" gespeichert.
Fenster - 2 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


Meine Libs:

Zitat


DxErr9.lib TriBaseD.lib d3d9.lib d3dx9d.lib dxerr9.lib winmm.lib Gdi32.Lib User32.Lib AdvAPI32.Lib Ole32.Lib comdlg32.lib


Vieleicht weis einer wo der Fehler liegt


Danke Im Voraus


DklDino

2

22.11.2009, 14:16

Zeig mal den Code, in dem du tbDoMessageLoop aufrufst.

3

22.11.2009, 21:14

Der Fehler kommt bei InitWindow.h
im Projekt "Fenster"(auf buch CD).

C-/C++-Quelltext

1
2
3
4
5
6
7
8
VAR HWND g_hWindow;

// ******************************************************************

// Funktionen

tbResult        InitWindow(int iWidth, int iHeight, char* pcName, HICON hIcon);
tbResult        ExitWindow();
tbResult        DoMessageLoop(tbResult (* pRenderProc)(float), tbResult (* pMoveProc)(float));
LRESULT WINAPI  WindowProc(HWND hWindow, unsigned int uiMessage, WPARAM WParam, LPARAM LParam);



DklDino

Lerikson

Alter Hase

Beiträge: 412

Wohnort: nördlich von Hamburg

Beruf: Schüler

  • Private Nachricht senden

4

23.11.2009, 08:12

also mit der lib "DxErr9.lib" hatte ich auch mal ein Problem, du musst (soweit ich weiß) einfach bei Linker>Eingabe statt DxErr9.lib Dxerr.lib eintragen (groß-und-kleinschreibung ist wurscht, nur meine Art und Weise ;))
Errare est humanum. -Windows ist menschlich ;-)

5

23.11.2009, 08:54

Anscheinend fehlt die Implementierung von DoMessageLoop.
Hier ist sie nur (vorwärts) deklariert.


Lerikson
Er hat ja (noch) kein Problem mit dxerr9.lib.
dxerr9.lib heißt afaik seit SDK Aug 09 dxerr.lib.

6

23.11.2009, 17:51

Vielen Dank

Vielleicht kann mir einer Sagen was ich hier verändern muss damit ws funktioniert

Danke im voraus

DklDino

7

23.11.2009, 18:08

Hier hast du DoMessageLoop deklariert:

C-/C++-Quelltext

1
tbResult DoMessageLoop(tbResult (* pRenderProc)(float), tbResult (* pMoveProc)(float)); 


Es fehlt anscheinend die Implementierung:

C-/C++-Quelltext

1
2
3
4
5
6
7
tbResult DoMessageLoop(tbResult (* pRenderProc)(float), tbResult (* pMoveProc)(float))
{
// Hier passiert irgendwas

...
...
return TB_OK;
}


Hab leider die CD bzw. die Beispiele grad nicht zur Hand.
Schau dir halt andere Beispielprogramme an, wie es dort gelöst wurde.

Lerikson

Alter Hase

Beiträge: 412

Wohnort: nördlich von Hamburg

Beruf: Schüler

  • Private Nachricht senden

8

23.11.2009, 19:29

sorry :oops:
wollte ja nur helfen, aber jetzt weiß er wenigstens was noch hätte schiefgehen können...
Errare est humanum. -Windows ist menschlich ;-)

9

23.11.2009, 20:22

War ja nicht bös gemeint... :evil:

Nächstes Mal mach ich einen adäquaten Smiley dazu.

BurningWave

Alter Hase

Beiträge: 1 106

Wohnort: Filderstadt/Konstanz

Beruf: Student

  • Private Nachricht senden

10

23.11.2009, 22:16

Gehört die Funktion DoMessageLoop nicht zur TriBase Engine? Oder müsste das eigentlich tbDoMessageLoop heißen?! Ich glaube, dass du da vielleicht einen Tippfehler gemacht hast, da in der Meldung vom Compiller die Rede von einer tbDoMessageLoop ist, in deinem Codeausschnitt aber nur DoMessageLoop steht oder hast du vielleicht vergessen irgendeine Datei einzubinden?

mfg

Werbeanzeige