JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.phpMedaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Und schon wieder ein problem...
Gehe zu Seite 1, 2  Weiter
 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
da-harry
Mini JLI'ler



Anmeldedatum: 23.11.2003
Beiträge: 30
Wohnort: München
Medaillen: Keine

BeitragVerfasst am: 26.11.2003, 14:42    Titel: Und schon wieder ein problem... Antworten mit Zitat

Ich versuche zur zeit vegeblich meine CDirect3D Klasse aus Kapitel 19 zu compilen manchmal klappt es auch aber meistens halt nicht:

Code:

--------------------Konfiguration: D3D Klasse - Win32 Debug--------------------
Kompilierung läuft...
CDirect3D.cpp
D3Dklasse.CPP
def.cpp
Linker-Vorgang läuft...
def.obj : error LNK2005: "public: int __thiscall CDirect3D::Init(struct HWND__ *,int)" (?Init@CDirect3D@@QAEHPAUHWND__@@H@Z) bereits in D3Dklasse.obj definiert
def.obj : error LNK2005: "protected: void __thiscall CDirect3D::CleanUp(void)" (?CleanUp@CDirect3D@@IAEXXZ) bereits in D3Dklasse.obj definiert
def.obj : error LNK2005: "protected: void __thiscall CDirect3D::CreateFontA(void)" (?CreateFontA@CDirect3D@@IAEXXZ) bereits in D3Dklasse.obj definiert
def.obj : error LNK2005: "public: void __thiscall CDirect3D::BeginScene(void)" (?BeginScene@CDirect3D@@QAEXXZ) bereits in D3Dklasse.obj definiert
def.obj : error LNK2005: "public: void __thiscall CDirect3D::EndScene(void)" (?EndScene@CDirect3D@@QAEXXZ) bereits in D3Dklasse.obj definiert
def.obj : error LNK2005: "public: void __thiscall CDirect3D::SetClearColor(unsigned long)" (?SetClearColor@CDirect3D@@QAEXK@Z) bereits in D3Dklasse.obj definiert
def.obj : error LNK2005: "public: void __thiscall CDirect3D::DrawTextA(char const *,int,int,unsigned long)" (?DrawTextA@CDirect3D@@QAEXPBDHHK@Z) bereits in D3Dklasse.obj definiert
def.obj : error LNK2005: "public: __thiscall CDirect3D::CDirect3D(void)" (??0CDirect3D@@QAE@XZ) bereits in D3Dklasse.obj definiert
def.obj : error LNK2005: "public: virtual __thiscall CDirect3D::~CDirect3D(void)" (??1CDirect3D@@UAE@XZ) bereits in D3Dklasse.obj definiert
Debug/D3D Klasse.exe : fatal error LNK1169: Ein oder mehrere mehrfach definierte Symbole gefunden
Fehler beim Ausführen von link.exe.

D3D Klasse.exe - 10 Fehler, 0 Warnung(en)


kann irgend wer einem anfänger helfen?


mfg. harry
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 26.11.2003, 14:51    Titel: Antworten mit Zitat

Irgendwie kommen mir diese Fehler bekannt vor. Kannst du vielleicht etwas Code posten?
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
nerem
JLI'ler


Alter: 37
Anmeldedatum: 21.09.2003
Beiträge: 169
Wohnort: Stuttgart
Medaillen: Keine

BeitragVerfasst am: 26.11.2003, 14:55    Titel: Antworten mit Zitat

Hey, diese Fehler hatte ich auch schon. Bin an der selben Stelle und als ich s nicht hinbekommen hab, hab ich mir die Mühe gemacht und alles neu geschrieben. Ich weiss bis heute nicht woran das lag!

Grüsse nerem
_________________
The killer in me is the killer in you...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
da-harry
Mini JLI'ler



Anmeldedatum: 23.11.2003
Beiträge: 30
Wohnort: München
Medaillen: Keine

BeitragVerfasst am: 26.11.2003, 14:57    Titel: Code: Antworten mit Zitat

CDirect3D.cpp:
Code:

#include <d3d9.h>
#include <d3dx9.h>

class CDirect3D
{
   public:

      CDirect3D();
      virtual ~CDirect3D();

      
      BOOL Init(HWND hWnd, BOOL bWindowed = TRUE);
      void SetClearColor(D3DCOLOR Color);
      void DrawText(LPCSTR nText,
                 int x,
                 int y,
                 D3DCOLOR TextColor);

      void BeginScene(void);
      void EndScene(void);

   protected:

      void CreateFont(void);
      void CleanUp(void);
      
      D3DCOLOR         m_ClearColor;

      LPDIRECT3D9         m_lpD3D;
      LPDIRECT3DDEVICE9   m_lpD3DDevice;
      LPD3DXFONT         m_lpD3DFont;
};

D3Dklasse.cpp
Code:

// Windows.cpp : Definiert den Einsprungpunkt für die Anwendung.
//
#include "D3Dklassen.h"

//Anwendungsfenster erzeugen:
HWND CreateMainWindow(HINSTANCE hInstance);

//Callbackfunktionen zur Nachrichtenbehandlung
LRESULT CALLBACK MessageHandler(HWND hwnd, UINT msg,
                        WPARAM wParam,
                        LPARAM lParam);

//globale Variable für das Fenster-Handle:
HWND hWnd = 0;

CDirect3D MainD3D;

int WINAPI WinMain(HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   LPSTR     lpCmdLine,
                   int       nCmdShow )
{
   hWnd = CreateMainWindow(hInstance);

   //Fehler? (=0)

   if(0 == hWnd)
   {
      MessageBox(0, "Fenster konnte nicht erzeugt werden!!!", "FEHLER IN DER ANWENDUNG", MB_OK);
      return 0;
   }
   if(!MainD3D.Init(hWnd))
   {
   
      //MessageBox(0, "Initialisierung von DirectX fehlgeschlagen", "FEHLER IN DER ANWENDUNG", MB_OK);   
      return -1;
   }
   
   //Nachrichtenstruktur
   MSG msg;

   //Wiederholen bis WM_Quit
   while(GetMessage(&msg,NULL,0,0))
   {
      //Nachrichten an die Callback-Funktion schicken
      TranslateMessage(&msg);
      DispatchMessage(&msg);
   }

   return 0;
}

HWND CreateMainWindow(HINSTANCE hInstance)
{
   WNDCLASSEX wndClass = {
      sizeof(WNDCLASSEX),
         CS_DBLCLKS | CS_OWNDC |
         CS_HREDRAW | CS_VREDRAW,
         MessageHandler,
         0,
         0,
         hInstance,
         LoadIcon(NULL, IDI_WINLOGO),
         LoadCursor(NULL, IDC_ARROW),
         (HBRUSH)GetStockObject(WHITE_BRUSH),
         NULL,
         "WindowClass",
         LoadIcon(NULL, IDI_WINLOGO)
   };

RegisterClassEx(&wndClass);

return CreateWindowEx(
                 NULL,
                 "WindowClass",
                 "DirectXGraphics",
                 WS_VISIBLE | WS_OVERLAPPEDWINDOW,
                 200, 100,
                 800,
                 600,
                 NULL,
                 NULL,
                 hInstance,
                 NULL);
}

LRESULT CALLBACK MessageHandler(HWND hWnd, UINT msg,
                        WPARAM wParam, LPARAM lParam)
{
   D3DCOLOR Text = D3DCOLOR_XRGB(0,0xFF,0);
   
   switch(msg)
   {
   case WM_DESTROY:
            PostQuitMessage(0);
            return 0;
         break;
   case WM_PAINT:
         
         MainD3D.BeginScene();
         MainD3D.EndScene();

         break;
   }

   return (DefWindowProc(hWnd, msg, wParam, lParam));
}

def.cpp
Code:

// Windows.cpp : Definiert den Einsprungpunkt für die Anwendung.
//
#include "D3Dklassen.h"

//Anwendungsfenster erzeugen:
HWND CreateMainWindow(HINSTANCE hInstance);

//Callbackfunktionen zur Nachrichtenbehandlung
LRESULT CALLBACK MessageHandler(HWND hwnd, UINT msg,
                        WPARAM wParam,
                        LPARAM lParam);

//globale Variable für das Fenster-Handle:
HWND hWnd = 0;

CDirect3D MainD3D;

int WINAPI WinMain(HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   LPSTR     lpCmdLine,
                   int       nCmdShow )
{
   hWnd = CreateMainWindow(hInstance);

   //Fehler? (=0)

   if(0 == hWnd)
   {
      MessageBox(0, "Fenster konnte nicht erzeugt werden!!!", "FEHLER IN DER ANWENDUNG", MB_OK);
      return 0;
   }
   if(!MainD3D.Init(hWnd))
   {
   
      //MessageBox(0, "Initialisierung von DirectX fehlgeschlagen", "FEHLER IN DER ANWENDUNG", MB_OK);   
      return -1;
   }
   
   //Nachrichtenstruktur
   MSG msg;

   //Wiederholen bis WM_Quit
   while(GetMessage(&msg,NULL,0,0))
   {
      //Nachrichten an die Callback-Funktion schicken
      TranslateMessage(&msg);
      DispatchMessage(&msg);
   }

   return 0;
}

HWND CreateMainWindow(HINSTANCE hInstance)
{
   WNDCLASSEX wndClass = {
      sizeof(WNDCLASSEX),
         CS_DBLCLKS | CS_OWNDC |
         CS_HREDRAW | CS_VREDRAW,
         MessageHandler,
         0,
         0,
         hInstance,
         LoadIcon(NULL, IDI_WINLOGO),
         LoadCursor(NULL, IDC_ARROW),
         (HBRUSH)GetStockObject(WHITE_BRUSH),
         NULL,
         "WindowClass",
         LoadIcon(NULL, IDI_WINLOGO)
   };

RegisterClassEx(&wndClass);

return CreateWindowEx(
                 NULL,
                 "WindowClass",
                 "DirectXGraphics",
                 WS_VISIBLE | WS_OVERLAPPEDWINDOW,
                 200, 100,
                 800,
                 600,
                 NULL,
                 NULL,
                 hInstance,
                 NULL);
}

LRESULT CALLBACK MessageHandler(HWND hWnd, UINT msg,
                        WPARAM wParam, LPARAM lParam)
{
   D3DCOLOR Text = D3DCOLOR_XRGB(0,0xFF,0);
   
   switch(msg)
   {
   case WM_DESTROY:
            PostQuitMessage(0);
            return 0;
         break;
   case WM_PAINT:
         
         MainD3D.BeginScene();
         MainD3D.EndScene();

         break;
   }

   return (DefWindowProc(hWnd, msg, wParam, lParam));
}

D3Dklassen.h
Code:

#include "def.cpp"
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 26.11.2003, 15:01    Titel: Antworten mit Zitat

Das sieht mir stark nach doppelt eingebundenem Header aus.
Bindest du die Klasse vielleicht irgendwo (unbewusst) doppelt ein?
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
da-harry
Mini JLI'ler



Anmeldedatum: 23.11.2003
Beiträge: 30
Wohnort: München
Medaillen: Keine

BeitragVerfasst am: 26.11.2003, 15:12    Titel: Antworten mit Zitat

Kann irgenwie ned sein, jetzt hab ich den code auf 2 Dateien (der übersichtlichkeit wegen) zusammen gafasst. => Der selbe Fehler Mad

CDirect3D.cpp
Code:

#include <d3d9.h>
#include <d3dx9.h>

class CDirect3D
{
   public:

      CDirect3D();
      virtual ~CDirect3D();

      
      BOOL Init(HWND hWnd, BOOL bWindowed = TRUE);
      void SetClearColor(D3DCOLOR Color);
      void DrawText(LPCSTR nText,
                 int x,
                 int y,
                 D3DCOLOR TextColor);

      void BeginScene(void);
      void EndScene(void);

   protected:

      void CreateFont(void);
      void CleanUp(void);
      
      D3DCOLOR         m_ClearColor;

      LPDIRECT3D9         m_lpD3D;
      LPDIRECT3DDEVICE9   m_lpD3DDevice;
      LPD3DXFONT         m_lpD3DFont;
};

BOOL CDirect3D::Init(HWND hWnd, BOOL bWindowed)
{
   m_lpD3D = Direct3DCreate9(D3D_SDK_VERSION);
   
   if(NULL == m_lpD3D)
   {
      MessageBox(0, "Initialisierung von DirectX fehlgeschlagen1", "FEHLER IN DER ANWENDUNG", MB_OK);
      return FALSE;
   }



    D3DPRESENT_PARAMETERS PParams;
    ZeroMemory( &PParams, sizeof(PParams) );
    PParams.Windowed = TRUE;
    PParams.SwapEffect = D3DSWAPEFFECT_DISCARD;
    PParams.BackBufferFormat = D3DFMT_UNKNOWN;

   if( FAILED( m_lpD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
                                      D3DCREATE_SOFTWARE_VERTEXPROCESSING,
                                      &PParams, &m_lpD3DDevice ) ) )
   {
      MessageBox(0, "Fehler", "FEHLER IN DER ANWENDUNG", MB_OK);
      return FALSE;
   }

   return TRUE;

}

// Direct3D Objekte freigeben
void CDirect3D::CleanUp(void)
{
    // testen, ob die Objekt angelegt
    // wurden und ggf. freigeben
    if(NULL != m_lpD3DFont)
    {
        m_lpD3DFont->Release();
        m_lpD3DFont = NULL;
    }
   
    if(NULL != m_lpD3DDevice)
    {
        m_lpD3DDevice->Release();
        m_lpD3DDevice = NULL;
    }
   
    if(NULL != m_lpD3D)
    {
        m_lpD3D->Release();
        m_lpD3D = NULL;
    }
}


void CDirect3D::CreateFont(void)
{
   LOGFONT LogFont = { 0 };

   strcpy(LogFont.lfFaceName, "Fixedsys");

   D3DXCreateFontIndirect(m_lpD3DDevice,
                     &LogFont,
                     &m_lpD3DFont);
}

void CDirect3D::BeginScene(void)
{
   m_lpD3DDevice->Clear(0,0,
                   D3DCLEAR_TARGET,
                   m_ClearColor,
                   0,0);

   m_lpD3DDevice->BeginScene();
}

void CDirect3D::EndScene(void)
{
   m_lpD3DDevice->EndScene();

   m_lpD3DDevice->Present(0,0,0,0);
}

void CDirect3D::SetClearColor(D3DCOLOR Color)
{
   m_ClearColor = Color;
}

void CDirect3D::DrawText(LPCSTR nText,int x,int y,D3DCOLOR TextColor)
{
   RECT r = { x, y, 0, 0 };
   
   m_lpD3DFont->DrawText(nText,
                    -1,
                    &r,
                    DT_CALCRECT,
                    TextColor);
   
   m_lpD3DFont->DrawText(nText,
                    -1,
                    &r,
                    DT_CENTER,
                    TextColor);
}

CDirect3D::CDirect3D()
{
    m_lpD3D       = NULL;
    m_lpD3DDevice = NULL;
    m_lpD3DFont   = NULL;
}

CDirect3D::~CDirect3D()
{
   CleanUp();
}


D3Dklasse.CPP
Code:

// Windows.cpp : Definiert den Einsprungpunkt für die Anwendung.
//
#include "CDirect3D.cpp"

//Anwendungsfenster erzeugen:
HWND CreateMainWindow(HINSTANCE hInstance);

//Callbackfunktionen zur Nachrichtenbehandlung
LRESULT CALLBACK MessageHandler(HWND hwnd, UINT msg,
                        WPARAM wParam,
                        LPARAM lParam);

//globale Variable für das Fenster-Handle:
HWND hWnd = 0;

CDirect3D MainD3D;

int WINAPI WinMain(HINSTANCE hInstance,
                   HINSTANCE hPrevInstance,
                   LPSTR     lpCmdLine,
                   int       nCmdShow )
{
   hWnd = CreateMainWindow(hInstance);

   //Fehler? (=0)

   if(0 == hWnd)
   {
      MessageBox(0, "Fenster konnte nicht erzeugt werden!!!", "FEHLER IN DER ANWENDUNG", MB_OK);
      return 0;
   }
   if(!MainD3D.Init(hWnd))
   {
   
      //MessageBox(0, "Initialisierung von DirectX fehlgeschlagen", "FEHLER IN DER ANWENDUNG", MB_OK);   
      return -1;
   }
   
   //Nachrichtenstruktur
   MSG msg;

   //Wiederholen bis WM_Quit
   while(GetMessage(&msg,NULL,0,0))
   {
      //Nachrichten an die Callback-Funktion schicken
      TranslateMessage(&msg);
      DispatchMessage(&msg);
   }

   return 0;
}

HWND CreateMainWindow(HINSTANCE hInstance)
{
   WNDCLASSEX wndClass = {
      sizeof(WNDCLASSEX),
         CS_DBLCLKS | CS_OWNDC |
         CS_HREDRAW | CS_VREDRAW,
         MessageHandler,
         0,
         0,
         hInstance,
         LoadIcon(NULL, IDI_WINLOGO),
         LoadCursor(NULL, IDC_ARROW),
         (HBRUSH)GetStockObject(WHITE_BRUSH),
         NULL,
         "WindowClass",
         LoadIcon(NULL, IDI_WINLOGO)
   };

RegisterClassEx(&wndClass);

return CreateWindowEx(
                 NULL,
                 "WindowClass",
                 "DirectXGraphics",
                 WS_VISIBLE | WS_OVERLAPPEDWINDOW,
                 200, 100,
                 800,
                 600,
                 NULL,
                 NULL,
                 hInstance,
                 NULL);
}

LRESULT CALLBACK MessageHandler(HWND hWnd, UINT msg,
                        WPARAM wParam, LPARAM lParam)
{
   D3DCOLOR Text = D3DCOLOR_XRGB(0,0xFF,0);
   
   switch(msg)
   {
   case WM_DESTROY:
            PostQuitMessage(0);
            return 0;
         break;
   case WM_PAINT:
         
         MainD3D.BeginScene();
         MainD3D.EndScene();

         break;
   }

   return (DefWindowProc(hWnd, msg, wParam, lParam));
}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Kampfhund
Super JLI'ler


Alter: 42
Anmeldedatum: 20.07.2002
Beiträge: 408

Medaillen: Keine

BeitragVerfasst am: 26.11.2003, 17:03    Titel: Antworten mit Zitat

Code:

#include "CDirect3D.cpp"


Tippfehler?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
da-harry
Mini JLI'ler



Anmeldedatum: 23.11.2003
Beiträge: 30
Wohnort: München
Medaillen: Keine

BeitragVerfasst am: 26.11.2003, 17:18    Titel: Antworten mit Zitat

hä?
wo?!? Embarassed


was is da falsch?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
abc_d
JLI Master Trainee


Alter: 35
Anmeldedatum: 27.01.2003
Beiträge: 615

Medaillen: Keine

BeitragVerfasst am: 26.11.2003, 17:24    Titel: Antworten mit Zitat

.h anstelle von .cpp?
_________________
http://mitglied.lycos.de/sarti/linuxisevil.gif Linux is evil - get the fact.

Never touch a running System - der Systemling
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden
da-harry
Mini JLI'ler



Anmeldedatum: 23.11.2003
Beiträge: 30
Wohnort: München
Medaillen: Keine

BeitragVerfasst am: 26.11.2003, 17:29    Titel: Antworten mit Zitat

ne ne, is ja ne cpp
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Kampfhund
Super JLI'ler


Alter: 42
Anmeldedatum: 20.07.2002
Beiträge: 408

Medaillen: Keine

BeitragVerfasst am: 26.11.2003, 18:15    Titel: Antworten mit Zitat

Man includiert immer .h (Header) Dateien.
In ihnen sind die prototypen(so heißen die glaube ich).

Die Implementierungen der funktionen und methoden stehen dann in den .cpp dateien.

Die header dateien werden in eine cpp datei includiert, wenn du zB in der cpp datei eine Instanz der Klasse, deren prototyp im Header steht, verwendest. Dadurch weiß der Compiler was das für eine Klasse ist.

Bsp.:

Code:

// test.cpp
#include "TestKlasse.h" // wird includiert damit man TestKlasse verwenden kann

TestKlasse MeineInstanz;

Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Mr.X
Junior JLI'ler



Anmeldedatum: 15.04.2003
Beiträge: 88

Medaillen: Keine

BeitragVerfasst am: 26.11.2003, 21:28    Titel: ... Antworten mit Zitat

Beim ersten mal lag es an Deiner "D3Dklassen.h " !

Das darin enthaltene
Code:
#include "def.cpp"

hat darin nichts verloren! Dies verursacht die Mehrfachdefintion!



Zu Deinem letzten Posting könntest Du mal Deine Fehlermeldung mit posten!!!
Sollte es denn wirklich GENAU!!! der gleiche Fehler sein, dann hast Du eine nun überflüssig gewordene Datei aus Deinem Projekt nicht entfernt, welche für die Mehrfachdefinition sorgt!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
da-harry
Mini JLI'ler



Anmeldedatum: 23.11.2003
Beiträge: 30
Wohnort: München
Medaillen: Keine

BeitragVerfasst am: 27.11.2003, 13:40    Titel: Antworten mit Zitat

Hier die Fehlermeldung

Code:

--------------------Konfiguration: D3DClass - Win32 Debug--------------------
Linker-Vorgang läuft...
D3Dklasse.obj : error LNK2005: "public: int __thiscall CDirect3D::Init(struct HWND__ *,int)" (?Init@CDirect3D@@QAEHPAUHWND__@@H@Z) bereits in CDirect3D.obj definiert
D3Dklasse.obj : error LNK2005: "protected: void __thiscall CDirect3D::CleanUp(void)" (?CleanUp@CDirect3D@@IAEXXZ) bereits in CDirect3D.obj definiert
D3Dklasse.obj : error LNK2005: "protected: void __thiscall CDirect3D::CreateFontA(void)" (?CreateFontA@CDirect3D@@IAEXXZ) bereits in CDirect3D.obj definiert
D3Dklasse.obj : error LNK2005: "public: void __thiscall CDirect3D::BeginScene(void)" (?BeginScene@CDirect3D@@QAEXXZ) bereits in CDirect3D.obj definiert
D3Dklasse.obj : error LNK2005: "public: void __thiscall CDirect3D::EndScene(void)" (?EndScene@CDirect3D@@QAEXXZ) bereits in CDirect3D.obj definiert
D3Dklasse.obj : error LNK2005: "public: void __thiscall CDirect3D::SetClearColor(unsigned long)" (?SetClearColor@CDirect3D@@QAEXK@Z) bereits in CDirect3D.obj definiert
D3Dklasse.obj : error LNK2005: "public: void __thiscall CDirect3D::DrawTextA(char const *,int,int,unsigned long)" (?DrawTextA@CDirect3D@@QAEXPBDHHK@Z) bereits in CDirect3D.obj definiert
D3Dklasse.obj : error LNK2005: "public: __thiscall CDirect3D::CDirect3D(void)" (??0CDirect3D@@QAE@XZ) bereits in CDirect3D.obj definiert
D3Dklasse.obj : error LNK2005: "public: virtual __thiscall CDirect3D::~CDirect3D(void)" (??1CDirect3D@@UAE@XZ) bereits in CDirect3D.obj definiert
CDirect3D.obj : error LNK2001: Nichtaufgeloestes externes Symbol _Direct3DCreate9@4
D3Dklasse.obj : error LNK2001: Nichtaufgeloestes externes Symbol _Direct3DCreate9@4
CDirect3D.obj : error LNK2001: Nichtaufgeloestes externes Symbol _D3DXCreateFontIndirect@12
D3Dklasse.obj : error LNK2001: Nichtaufgeloestes externes Symbol _D3DXCreateFontIndirect@12
Debug/D3DClass.exe : fatal error LNK1120: 2 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.

D3DClass.exe - 14 Fehler, 0 Warnung(en)




Achso und ich hab nen neues Projekt gemacht und die Dateien von vorher wieder reinkopiert (=> selbe Fehlermeldung Evil or Very Mad )
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 27.11.2003, 13:55    Titel: Antworten mit Zitat

Hast du die Antworten nicht gelesen?
Die Fehlermeldungen sprechen ziemlich eindeutig für eine Mehrfachdefinition.
Mr.X hat doch eine Behebungsmöglichkeit gepostet^^
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
da-harry
Mini JLI'ler



Anmeldedatum: 23.11.2003
Beiträge: 30
Wohnort: München
Medaillen: Keine

BeitragVerfasst am: 27.11.2003, 14:06    Titel: Antworten mit Zitat

ich finde den fehler aber leider ned (hab ja jetzt auf 2 Dats reduziert ohne der "def.cpp"!)
und geincluded hab ich auch bloß meine Klassen Datei und die headerdateien für DX

sry bin halt noch ein ziehmlicher anfänger Embarassed
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Fragen, Antworten und Kritik Alle Zeiten sind GMT
Gehe zu Seite 1, 2  Weiter
Seite 1 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum