Dev C++ und Direct X
-
Hi Leude ich hab da folgendes Problem mit DDraw und dem Dev C++ Editor :
Kompiliert werden kann das Prog , aber dann kommt der Linker :
[Linker error] undefined reference to `DirectDrawCreate@12'
Ich weiss auch nit was ich nu noch machen sollen , weil alle anderen
Funktionen (DDraw) funktionieren , wie CreateSurfaceDesc etc....Ich benutze DirectX 8 Headers
Greets <TZ>
-
Schau mal im FAQ nach
-
Zeig mal ein wenig von deinem Code. Die Stelle mit dem Fehler und die Stelle wo es keine Fehler gibt.
-
class Graphics
{
public :
Graphics();
~Graphics();
void Error(LPCSTR errmsg);
void Init(HWND,HINSTANCE);//Initialisieren der Grafik(DDraw)
private :
LPDIRECTDRAW ddraw; // Das DirectDraw Object
LPDIRECTDRAWSURFACE primary; // Primäre Oberfläche
}void Graphics::Init(HWND hWindow,HINSTANCE hInst)
{if(FAILED(DirectDrawCreate(NULL, &ddraw, NULL)))
{Error("Fehler beim Erstellen von DDraw");}if (ddraw->SetCooperativeLevel(hWnd, DDSCL_EXCLUSIVE | DDSCL_FULLSCREEN |
DDSCL_NOWINDOWCHANGES) != DD_OK)
{ Error("Fehler beim Setzen des Kooperativen Levels"); }if (ddraw->SetDisplayMode(SCREEN_WIDTH,SCREEN_HEIGHT, 16) != DD_OK)
{Error("Fehler beim Setzen der Auflösung");}
}//Der macht nur nen Fehler bei DirectDrawCreate();
//Selbst DirectDrawEx funzt nit
//vielleicht hat jemand von euch ne Side wo ich ne andere Version des SDK finde,
//wie zum Beispiel DirectX 7.0 oder noch älter , hauptsache eine Version
//die funzt
-
ach SCREEN_WIDTH und SCREEN_HEIGHT sind oben definiert
#define SCREEN_WIDTH 800
#define SCREEN_HEIGHT 600
-
Original erstellt von Headhunter:
Schau mal im FAQ nach
-
Hab ich schon ist aber nirgends ein gleicher Beitrag
-
-
Das hat kein Sinn , weil die Entwicklerhp nit mehr funktioniert und aud Bloodshet.net keine Infos bereit hält
-
Wie erstellst du das Fenster?
-
Probier es mal mit
**
ddrval = DirectDrawCreateEx(NULL, (VOID **)&lpDD, IID_IDirectDraw7, NULL);
**
-
Das Fenster erstell ich der WINMAIN , also mittels <windows.h>
->
CreateWindowEx();Das funzt ja auch , hab ich schon probiert aber mein Prob ist halt das DirectDrawCreate();
-
Wenn ich das wie du beschreibst versuche kommt :
[Linker error] undefined reference to
IID_IDirectDraw7' [Linker error] undefined reference to
DirectDrawCreateEx@16'
-
Original erstellt von ZimmerTho:
Das hat kein Sinn , weil die Entwicklerhp nit mehr funktioniert und aud Bloodshet.net keine Infos bereit hältAber das Package für DirectX kannst Du doch downloaden!?!
-
Ja kann ich downloaden und auch den ganzen Kram (Lib ,Headers etc ) in Dev C++ einbinden , aber dann ist Ende im Gelände
<TZ>
-
Das Prob ist ja nit die HP wo man das Package runterladen kann. Sondern das da keine FAQ oder Help Links vorhanden sind. Der einzige Link den die da haben funzt nit weil man auf die angebene Side nit zugreifen kann.
<TZ>
-
Noch ein Prob :
Mit MSVC++ 6.0 klappt et auch nit , da kommt folgender Fehler :Graphics.obj : error LNK2001: Nichtaufgeloestes externes Symbol _DirectDrawCreate@12
Main.obj : error LNK2001: Nichtaufgeloestes externes Symbol _DirectDrawCreate@12
-
Original erstellt von ZimmerTho:
**Noch ein Prob :
Mit MSVC++ 6.0 klappt et auch nit , da kommt folgender Fehler :Graphics.obj : error LNK2001: Nichtaufgeloestes externes Symbol _DirectDrawCreate@12
Main.obj : error LNK2001: Nichtaufgeloestes externes Symbol _DirectDrawCreate@12**Also das sieht für mich danach aus, daß Du die erforderlichen Bibliotheken XXX.lib nicht Deinem Projekt hinzugefügt hast...
Entweder mit
#pragma comment(lib, "XXX.lib")
Oder durch
Menu Projekt->Dem Projekt hinzufügen->Vorhandenes Element(?)->(Bibliotheken auswählen) XXX.lib
-
pSargentNukem->thx();