Du bist nicht angemeldet.

Werbeanzeige

1

01.10.2009, 19:52

Problem: error LNK 2001

Hi,
ich habe folgendes Problem, ich versuche schon seit langen das Beispiel 1 (3d Spieleprogrammierung) mit der VC EE 2008 zu kompilieren:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <Windows.h>
#include <TriBase.h>
#include "InitWindow.h"
#include <resource.h>

tbResult Render(float fNumSecsPassed)
{
    return TB_OK;
}


tbResult Move(float fNumSecsPassed)
{
    return TB_OK;
}


int WINAPI WinMain(HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   char* pcCmdLine,
                   int iShowCmd)
{
    
    tbInit();

    
    InitWindow(640, 480, "Beispielprogramm Nr. 2: Fenster",
               LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON1)));

    
    tbDoMessageLoop(Render, Move);
    
    
    ExitWindow();

    
    tbExit();

    return 0;
}



Fehler:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
1>------ Erstellen gestartet: Projekt: Game-Vorlage, Konfiguration: Release Win32 ------
1>Kompilieren...
1>InitWindow.cpp
1>Fenster.cpp
1>Verknüpfen...
1>Fenster.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""__declspec(dllimport) enum tbResult __cdecl tbInit(void)" (__imp_?tbInit@@YA?AW4tbResult@@XZ)".
1>Fenster.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""__declspec(dllimport) enum tbResult __cdecl tbExit(void)" (__imp_?tbExit@@YA?AW4tbResult@@XZ)".
1>Fenster.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""__declspec(dllimport) enum tbResult __cdecl tbDoMessageLoop(enum tbResult (__cdecl*)(float),enum tbResult (__cdecl*)(float))" (__imp_?tbDoMessageLoop@@YA?AW4tbResult@@P6A?AW41@M@Z0@Z)".
1>InitWindow.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""__declspec(dllimport) char * __cdecl tbRemoveDir(char *)" (__imp_?tbRemoveDir@@YAPADPAD@Z)".
1>InitWindow.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""__declspec(dllimport) enum tbResult __cdecl tbWriteToLog(char *,...)" (__imp_?tbWriteToLog@@YA?AW4tbResult@@PADZZ)".
1>C:\Users\Danny\Documents\Visual Studio 2008\Projects\Game-Vorlage\Release\Game-Vorlage.exe : fatal error LNK1120: 5 nicht aufgelöste externe Verweise.
1>Das Buildprotokoll wurde unter "file://c:\Users\Danny\Documents\Visual Studio 2008\Projects\Game-Vorlage\Game-Vorlage\Release\BuildLog.htm" gespeichert.
1>Game-Vorlage - 6 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


Ich habe eigentlich alle Dateien gelinkt und vorher waren es auch mehr Fehler, die ich aber mithilfe von Davids Anleitung beseitigen konnte.

Ich hoffe ihr könnt mir helfen.

2

01.10.2009, 20:27

Hi erstmal und Willkommen im Forum! ;)

Hab das Thema hierher verschoben.

Hast du die Tribase.lib (bzw. TribaseD.lib) gelinkt?
(Projekteigenschaften - Linker - Eingabe)
fka tm

3

02.10.2009, 17:27

Ja, habe ich.
Ich habe bei den Zusätzlichen Bibliotheksdateien den Lib Ordner der Tribase-Engine angegeben.
Woran könnte der Fehler noch liegen?
Und danke für die schnelle Antwort.

Das Gurke

Community-Fossil

Beiträge: 1 999

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

4

02.10.2009, 17:29

Du musst nicht den Ordner angeben, sondern die Libs selber. Heißt ja immerhin "Zusätzliche Bibliotheksdateien" ;)

5

02.10.2009, 17:40

Ok ich danke euch, jetzte habe ichs gelernt :D .
Naja aus Fehlern lernt man.

6

02.10.2009, 17:50

Hi nochmal,
habe nun noch ein Problem und zwar ich kann die exe nun nicht öffnen.
Habe Windows Vista und als Fehlermeldung kommt "Game-Vorlage.exe Funktioniert nicht mehr"
Was nun??

7

02.10.2009, 18:10

Erstell mal eine Release-Version.
fka tm

8

02.10.2009, 18:23

Das habe ich gemacht, ich habe die Projektmappe im Konfigurationsmanager auf Release gestellt und im Ordner Release wurde die .exe auch abgelegt.
Also was könnte es noch sein?

9

02.10.2009, 18:46

Ist die Tribase.dll im selben Ordner, bzw. zentral, zum Beispiel im Windows-Ordner abgelegt?
fka tm

10

02.10.2009, 19:11

Hab ich aber es funktioniert immer noch nicht, gleiche Fehlermeldung.

Werbeanzeige