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

Anonymous

unregistriert

11

27.09.2004, 00:29

Ok "IDI_ICON" ist nun Schnee von gestern.

Nun aber hat sich ein neues Problem eingeschlichen.
Es geht um folgende Fehlerzeilen:

Linker-Vorgang läuft...
Direct3DEnum.obj : error LNK2001: Nichtaufgeloestes externes Symbol _Direct3DCreate9@4
InitDirect3D.obj : error LNK2001: Nichtaufgeloestes externes Symbol _Direct3DCreate9@4
InitDirect3D.obj : error LNK2001: Nichtaufgeloestes externes Symbol _DXGetErrorString9A@4
InitDirect3D.obj : error LNK2001: Nichtaufgeloestes externes Symbol _DXGetErrorDescription9A@4
LIBCD.lib(wincrt0.obj) : error LNK2001: Nichtaufgeloestes externes Symbol _WinMain@16
Debug/Uebung2.exe : fatal error LNK1120: 4 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.

Uebung2.exe - 6 Fehler, 0 Warnung(en)

Waren voher 14 Fehler hab aber gemerkt das ich beim neuen Ordner vergessen habe zu linken. Die restlichen Zeilen werden wahrscheinlich die gleiche bzw. eine ähnlich Ursache haben.

Vielleicht ist jemand dabei der mir einen kleinen Denkanstoß geben könnte :)

Ich werde jetzt erst einmal schlafen gehn noch eine lange Nacht geht nicht mehr :sleep:

Danke euch

Osram

Alter Hase

Beiträge: 889

Wohnort: Weissenthurm

Beruf: SW Entwickler

  • Private Nachricht senden

12

27.09.2004, 03:02

Linkst Du auch d3d9.lib ?
"Games are algorithmic entertainment."

Anonymous

unregistriert

13

27.09.2004, 11:27

ja d3d9.lib is gelinkt. Fehler sind leider immernoch da.

Woran könnte es noch liegen?

Danke für jede Hilfe

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

14

27.09.2004, 11:52

Füg mal "dxerr9.lib" hinzu!
Allerdings wundert mich der Fehler mit Direct3DCreate9...

Anonymous

unregistriert

15

28.09.2004, 21:22

Ich habe das ganze 2.22 Listing nochmals abgetippt und erhalte nun wieder andere Fehlermeldungen.

Diesmal lauten sie wie folgt:

Linker-Vorgang läuft...
Neu.obj : error LNK2001: Nichtaufgeloestes externes Symbol "enum tbResult __cdecl ExitDirect3D(void)" (?ExitDirect3D@@YA?AW4tbResult@@XZ)
Neu.obj : error LNK2001: Nichtaufgeloestes 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)
Neu.obj : error LNK2001: Nichtaufgeloestes externes Symbol "enum tbResult __cdecl ExitWindow(void)" (?ExitWindow@@YA?AW4tbResult@@XZ)
Neu.obj : error LNK2001: Nichtaufgeloestes externes Symbol "enum tbResult __cdecl InitDirect3D(struct SDirect3DParameters *,struct HWND__ *)" (?InitDirect3D@@YA?AW4tbResult@@PAUSDirect3DParameters@@PAUHWND__@@@Z)
Neu.obj : error LNK2001: Nichtaufgeloestes externes Symbol "struct HWND__ * g_hWindow" (?g_hWindow@@3PAUHWND__@@A)
Neu.obj : error LNK2001: Nichtaufgeloestes externes Symbol "enum tbResult __cdecl InitWindow(int,int,char *,struct HICON__ *)" (?InitWindow@@YA?AW4tbResult@@HHPADPAUHICON__@@@Z)
Neu.obj : error LNK2001: Nichtaufgeloestes externes Symbol "enum tbResult __cdecl GetDirect3DParameters(struct SDirect3DParameters *)" (?GetDirect3DParameters@@YA?AW4tbResult@@PAUSDirect3DParameters@@@Z)
Debug/Neu.exe : fatal error LNK1120: 7 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.

Neu.exe - 8 Fehler, 0 Warnung(en)

???

Hier nochmal das ganze Script.


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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
// Beispielprogramm 02

// Auflisten aller Direct3D-Optionen und anschließende Erstellung

// einer Geräteschnittstelle (Direct3DDevice9).

// Zu den Optionen gehören unter anderem:

// - Adapter und Gerätetyp

// - Videomodi

// - Multi-Sampling-Typen und Qualitätsstufen

// - Hardware- oder Softwareverarbeitung?


#pragma comment(lib, "d3d9.lib")
#pragma comment(lib, "dxerr9.lib")

#include<Windows.h>
#include<TriBase.h>
#include"InitWindow.h"
#include"Direct3DEnum.h"
#include"InitDirect3D.h"
#include"Resource.h"

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

// Render-Funktion

tbResult Render(float fNumSecsPassed)
{
    return TB_OK;
}

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

// Move-Funktion

tbResult Move(float fNumSecsPassed)
{
    return TB_OK;
}

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

// Windows-Hauptfunktion

int WINAPI WinMain(HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   char* pcCmdLine,
                   int iShowCmd)
{
    SDirect3DParameters Direct3DParameters;
    tbResult        Result;

    // TriBase-Engine initialisieren

    tbInit();

    // Direct3D-Optionen abfragen(vom Benutzer gewählt)

    Result = GetDirect3DParameters(&Direct3DParameters);
    if(Result == TB_ERROR)
    {
        // Es trat ein Fehler auf!

        MessageBox(NULL, "Fehler beim Abzählen!", "Fehler",
            MB_OK | MB_ICONEXCLAMATION);
        tbExit();
        return 1;
    }
    else if(Result == TB_CANCELED)
    {
        // Der Dialog wurde abgebrochen

        tbExit();
        return 0;
    }

    // Fenster initialisieren. Die Größe hängt vom gewählten 

    // Videomodus ab, der in der Parameterstruktur gespeichert ist.

    if(InitWindow(Direct3DParameters.VideoMode.Width,
                  Direct3DParameters.VideoMode.Height,
                  "Testfenster", NULL))
                  //LoadIcon(NULL, WINLOGO)))

    {
        // Fehler beim Erstellen des Fensters

        MessageBox(NULL, "Fehler beim Erstellen des Fensters!",
            "Fehler", MB_OK | MB_ICONEXCLAMATION);
            
        tbExit();
        return 1; 
    }

    // Direct3D mit den abgefragten Einstellungen initialisieren

    if(InitDirect3D(&Direct3DParameters,
        g_hWindow))
    {
        //Fehler

        MessageBox(g_hWindow, "Fehler beim initialisieren von Direct3D!",
            "Fehler", MB_OK | MB_ICONEXCLAMATION);

        ExitWindow();
        tbExit();
        return 1;
    }

    // Nachrichtenschleife 

    tbDoMessageLoop(Render, Move);

    // Direct3D und Fenster herunterfahren

    ExitDirect3D();
    ExitWindow();
    
    // Engine herunterfahren

    tbExit();

    return 0;
}

TriBaseD.Lib und TriBase.Lib sind gelinkt.

Danke euch.

Edit Linux: benutze bitte denn [C++ Code] Button beim posten ;)

Anonymous

unregistriert

16

29.09.2004, 00:59

Ok hab vergessen diverse Dateien (Header/Quellcodedateien) hinzuzufügen.

Jetzt sinds nur noch 2 Fehler

essourcen werden kompiliert...
Linker-Vorgang läuft...
Neu.obj : error LNK2001: Nichtaufgeloestes 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)
Debug/Neu.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.

Neu.exe - 2 Fehler, 0 Warnung(en)

@Linux ok mach ich demnächst. Hab den Knopf gar nich gesehen. Sry :)[/cpp]

Anonymous

unregistriert

17

30.09.2004, 12:58

Hat keine ne Ahnung woran das noch liegen könnte?

Gruß Sticky

Anonymous

unregistriert

18

30.09.2004, 18:41

Hab das Problem gefunden.

Ich musste bei mir die tbDoMessageLoop-Zeile streichen.

Weiß zwar nicht warum aber im Moment geht es.
Ist wahrscheinlich nicht das gelbe vom Ei aber nun gut.

Mal sehen wie lange es hält :)

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

19

30.09.2004, 18:51

Hast Du TriBase.lib gelinkt?

Anonymous

unregistriert

20

30.09.2004, 19:57

ja TriBase.LIB/TriBaseD.Lib wurde auch gelinkt.

Werbeanzeige