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

Last Nephilim

Frischling

  • »Last Nephilim« ist der Autor dieses Themas

Beiträge: 6

Wohnort: Wipperfürth

Beruf: Schüler

  • Private Nachricht senden

1

10.03.2007, 23:07

Problem mit Direct3D 9 Tutorial

Hallo. ich hab mich mal aufgerafft um DirectX Programmierung zu lernen.
Habe auch ein paar Tutorials gefunden und bin gerade an nem Direct3D Tut dran. nun ich hab genau das gemacht was im tutorial stand. nun bekkome ich nen Fehler.

Hier mein Code:

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
//header

#include "3DWindow.h"
#include <d3d9.h>

//Makros

#define ERRORMSG(x) MessageBox(NULL,x,"Fehler",MB_ICONEXCLAMATION | MB_OK)
#define SAFE_RELEASE(x) if(x!=NULL){x->Release(); x = NULL;}

//Prototypen

int InitDirect3D(void);
void CleanUp(void);

IDirect3D9 *WINAPI Direct3DCreate9(UINT SDKVersion);
LPDIRECT3D9       g_pD3D = NULL;

int InitDirect3D()
{
   //globales Direct3D Objekt erschaffen

   g_pD3D = Direct3DCreate9(D3D_SDK_VERSION);
   if(g_pD3D == NULL)
   {
      ERRORMSG("Erstellung des Direct3D-Objektes fehlgeschlagen.");
      return -1;
   }
   return 0;
}

void CleanUp()
{
     SAFE_RELEASE(g_pD3D);
}

int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,char* pCmdLine,int iShowCmd)
{
    MSG Message;
    
    if(InitWindow(400,300,"Direct3D Tutorial") != 0) 
    {
       return -1;
    }
    
    //Direct3D-Objekt erstellen

    if(InitDirect3D() != 0)
    {
       CleanUp();//Falls irgendeine Direct3D-Initialisierung fehlschlug auf alle Fälle aufräumen.

       SendMessage(g_hWnd,WM_CLOSE,0,0);//Dafür sorgen, dass das Anwendzúngsfenster abgebaut wird.

       return -1;
    }
    
    while(true)
    {
       while(PeekMessage(&Message,NULL,0,0,PM_REMOVE))
       {
          TranslateMessage(&Message);
          DispatchMessage(&Message);
          
          if(Message.message == WM_QUIT)
          {
             SendMessage(g_hWnd,WM_CLOSE,0,0);
             return 0;
          }
       }
    }
    return 0;
}


soweit so gut. nur bekomme ich folgende Fehlermeldung:

Quellcode

1
2
3
  [Linker error] undefined reference to `Direct3DCreate9@4' 
  ld returned 1 exit status 
 I:\Dokumente und Einstellungen\Fabian\Eigene Dateien\cpp\directx\Makefile.win [Build Error]  [DirectX.exe] Error 1 


Nun ich habe die Lib dateien der DirectX SDK eingebunden die im Tutorial genannt wurden.
Achso die Funktion "InitWindow()" ist eine fertige Funktion die der Author dem Tutorial in einer Datei beigefügt hat um das erstellen eines simplen Windows fensters zu erleichtern.

Findet jemand den Fehler??

Danke im Voraus.
Ja! Ich weiß, woher ich stamme!
Ungesättigt gleich der Flamme
Glühe und verzehr ich mich.
Licht wird alles, was ich fasse,
Kohle alles, was ich lasse:
Flamme bin ich sicherlich.

Beliah

Treue Seele

Beiträge: 115

Wohnort: Söhlde - LK Hildesheim

Beruf: FI-Anwendungsentwicklung

  • Private Nachricht senden

2

10.03.2007, 23:49

Ich nehm mal an du benutzt MinGW bzw. GNU - ld gibts beim MSVC nicht, jedenfalls nicht bei meiem aber ld -v sagt was von GNU.

Das sind auch speziell Libraries für MinGW/GNU? Weil normalerweise sind die .lib die von MS Compilern erzeugt werden nicht kompatibel damit. Schonmal libd3d9.a versucht?
Debuggers don't remove bugs, they only show them in slow motion.

Google Suche ohne Werbung und Cookies: Scroogle

Derzeitige(s) Freizeitprojekt(e)

Last Nephilim

Frischling

  • »Last Nephilim« ist der Autor dieses Themas

Beiträge: 6

Wohnort: Wipperfürth

Beruf: Schüler

  • Private Nachricht senden

3

11.03.2007, 01:08

Also ich benutze Dev-C++. KA ob die Libs da probleme machen. Ich schau mich ma nach den *.a libs um
Ja! Ich weiß, woher ich stamme!
Ungesättigt gleich der Flamme
Glühe und verzehr ich mich.
Licht wird alles, was ich fasse,
Kohle alles, was ich lasse:
Flamme bin ich sicherlich.

Last Nephilim

Frischling

  • »Last Nephilim« ist der Autor dieses Themas

Beiträge: 6

Wohnort: Wipperfürth

Beruf: Schüler

  • Private Nachricht senden

4

11.03.2007, 01:11

wunderbar funktioniert. hab die *.a libs die bei Dev-C++ dabei waren verwendet und jetzt klappts.

Danke für den Tipp.
Ja! Ich weiß, woher ich stamme!
Ungesättigt gleich der Flamme
Glühe und verzehr ich mich.
Licht wird alles, was ich fasse,
Kohle alles, was ich lasse:
Flamme bin ich sicherlich.

Beliah

Treue Seele

Beiträge: 115

Wohnort: Söhlde - LK Hildesheim

Beruf: FI-Anwendungsentwicklung

  • Private Nachricht senden

5

11.03.2007, 01:18

Zitat von »"Last Nephilim"«

wunderbar funktioniert. hab die *.a libs die bei Dev-C++ dabei waren verwendet und jetzt klappts.

Danke für den Tipp.


Kein Problem.

Es gibt übrigens eine Editier Funktion in diesem Forum. Wenn dein letzter Beitrag nur ein paar Minuten her ist und noch keiner geantwortet hat kannste die ruhig benutzen ;)
Debuggers don't remove bugs, they only show them in slow motion.

Google Suche ohne Werbung und Cookies: Scroogle

Derzeitige(s) Freizeitprojekt(e)

Last Nephilim

Frischling

  • »Last Nephilim« ist der Autor dieses Themas

Beiträge: 6

Wohnort: Wipperfürth

Beruf: Schüler

  • Private Nachricht senden

6

11.03.2007, 01:37

Ja ich weiß. Ich entschuldige mich hiermit offiziell dafür die Editier Funktion nicht genutzt zu haben :p
Ja! Ich weiß, woher ich stamme!
Ungesättigt gleich der Flamme
Glühe und verzehr ich mich.
Licht wird alles, was ich fasse,
Kohle alles, was ich lasse:
Flamme bin ich sicherlich.

Werbeanzeige