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

19.09.2013, 11:38

3d Spieleprogrammierung, problem mit Beispiel Quelltext

Hey Leute,

Wollte eben mit Visual Studio 2010 mal wieder ein bisschen im Buch weiterarbeite, und erhalte 3 Linker fehler ^^.


Das Sind die Fehler, habe eben VS 2010 sp1 installiert, hat aber nicht geholfen

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
1>------ Erstellen gestartet: Projekt: TheWindow, Konfiguration: Debug Win32 ------
1>  main.cpp
1>  InitWindow.cpp
1>  Code wird generiert...
1>  Versuche eine harte Verknuepfung zu erzeugen ...
1>  Feste Verknüpfung erstellt für C:\Users\Leridan\Desktop\TRIBASL\3D-Spieleprogrammierung-Update\TheWindow\TriBaseD.dll <<===>> C:\Users\Leridan\Desktop\TRIBASL\3D-Spieleprogrammierung-Update\TriBase\Bin\TriBaseD.dll
1>  OK.
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""enum tbResult __cdecl ExitDirect3D(void)" (?ExitDirect3D@@YA?AW4tbResult@@XZ)" in Funktion "_WinMain@16".
1>main.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 "_WinMain@16".
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""enum tbResult __cdecl GetDirect3DParameters(struct SDirect3DParameters *)" (?GetDirect3DParameters@@YA?AW4tbResult@@PAUSDirect3DParameters@@@Z)" in Funktion "_WinMain@16".
1>C:\Users\Leridan\Desktop\TRIBASL\3D-Spieleprogrammierung-Update\TheWindow\TheWindow.exe : fatal error LNK1120: 3 nicht aufgelöste externe Verweise.
========== Erstellen: 0 erfolgreich, Fehler bei 1, 1 aktuell, 0 übersprungen ==========



Gruß Leri

2

19.09.2013, 12:02

Jo, im Linker linken.

MfG
Check

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Checkmateing« (19.09.2013, 14:11)


3

19.09.2013, 12:02

tribase ist gelinkt, das ist ja das problem ^^

4

19.09.2013, 12:44

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#include<Windows.h>
#include<TriBase.h>
#include"InitWindow.h"
#include"Direct3DEnum.h"
#include"InitDirect3D.h"
#include"resource.h"
#pragma comment(lib,"TriBaseD.lib")
//Renderfunktion (leer)
tbResult Render(float fNumSecsPassed)
{
    return TB_OK;
}
//Move Funktion(Leer)
tbResult Move(float fNumSecsPassed)
{
    return TB_OK;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, char* pcCmdLine,int iShowCmd)
{
    
    //Tribase Engine Intialisieren
tbInit();

SDirect3DParameters Direct3DParameters;
tbResult Result = GetDirect3DParameters(&Direct3DParameters);
if(Result == TB_ERROR)
{
    MessageBox(NULL,"Fehler beim abzählen!","FEHLER",MB_OK|MB_ICONEXCLAMATION);
    tbExit();
    return 1;
}
else if(Result==TB_CANCELED)
{
    tbExit();
    return 0;
}


//Fenster intialisieren Die größe hängt vom gewähltern videomodus ab, der in derparameterstruktur gespeichert ist
if(InitWindow(Direct3DParameters.VideoMode.Width,
                Direct3DParameters.VideoMode.Height,
                "BEISPIELPROGRAMM 2: Direct Aufzählung",
                LoadIcon(hInstance,MAKEINTRESOURCE(IDI_ICON1))))
{
    //Fehler beim erstellen
    MessageBox(NULL,"FEHLER BEIM ERSTELLEN FENSTER","FEHLER",MB_OK|MB_ICONEXCLAMATION);
    tbExit();
    return 1;
}
if(InitDirect3D(&Direct3DParameters,g_hWindow))
{
    //FEHLER
    MessageBox(g_hWindow,"FEHLER beim intialisieren von direct3d","FEHLER",MB_OK|MB_ICONEXCLAMATION);
    ExitWindow();
    tbExit();
    return 1;
}
tbDoMessageLoop(Render,Move);

//Direct 3d und Fenster Herunterfahren
ExitDirect3D();
ExitWindow();

tbExit();

    return 0;
}

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

5

19.09.2013, 12:59

Deinem Projekt fehlen jedenfalls die Definitionen von ExitDirect3D(), InitDirect3D() und GetDirect3DParameters()... ;)

6

19.09.2013, 13:20

Ist aber alles in der projektmappe

dot

Supermoderator

Beiträge: 9 757

Wohnort: Graz

  • Private Nachricht senden

7

19.09.2013, 13:21

Ist aber alles in der projektmappe

Wieso sagt der Linker dann, dass es nicht so ist? ;)

8

19.09.2013, 13:56

das ist die frage ^^ aber die cpp dateien sind da und auch in der projektmappe

Werbeanzeige