Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
schneidi74 Senior JLI'ler
Anmeldedatum: 14.05.2004 Beiträge: 243
Medaillen: Keine
|
Verfasst am: 21.10.2005, 20:22 Titel: namespace und mein nervliches Ende... |
|
|
Ich will in ein Project namespace hinzufügen. Nichts wildes eigentlich.
Hier mal der Code der .h
CPP: | #if !defined(__ceengine_h__)
#define __ceengine_h__
#pragma once
#pragma warning(disable : 4251)
#pragma warning(disable : 4075)
#pragma warning(disable : 4005)
#ifndef __CEDLL
#define CEDLL __declspec(dllimport)
#else
#define CEDLL __declspec(dllexport)
#endif //ExportDLL
//-------------------------------------------------------------------------------------------------
// INCLUDES
//-------------------------------------------------------------------------------------------------
#include "include/CEDefines.h"
#include "include/CELog.h"
//-------------------------------------------------------------------------------------------------
// LOAD LIBRARIES
//-------------------------------------------------------------------------------------------------
#pragma comment(lib,"d3d9.lib")
#pragma comment(lib,"d3dx9d.lib")
#pragma comment(lib,"dinput8.lib")
#pragma comment(lib,"dsound.lib")
#pragma comment(lib,"dxerr9.lib")
#pragma comment(lib,"dxguid.lib")
//-------------------------------------------------------------------------------------------------
// GLOBALS
//-------------------------------------------------------------------------------------------------
namespace Core
{
int g_iScrSizeX = 0;
int g_iScrSizeY = 0;
bool g_bLogReady = false;
};
//-------------------------------------------------------------------------------------------------
// FUNCTIONS
//-------------------------------------------------------------------------------------------------
namespace Core
{
CEDLL ceResult ceInitEngine(HWND hWnd,int iScrX, int iScrY, D3DFORMAT dFormat, bool bWindowed,int iAdapter, char* cLogfile);
};
#endif
|
Das ganze Projekt wird auch fehlerfrei kompiliert.
Nutze ich jetzt diese .h und die daraus resultierende Lib/Dll in einem anderen Projekt und lasse das laufen bekomm ich diese Fehlermeldung:
Code: |
ceTechDemo error LNK2005: "bool Core::g_bLogReady" (?g_bLogReady@Core@@3_NA) bereits in ceTechDemo.obj definiert
ceTechDemo error LNK2005: "int Core::g_iScrSizeY" (?g_iScrSizeY@Core@@3HA) bereits in ceTechDemo.obj definiert
ceTechDemo error LNK2005: "int Core::g_iScrSizeX" (?g_iScrSizeX@Core@@3HA) bereits in ceTechDemo.obj definiert
ceTechDemo fatal error LNK1169: Ein oder mehrere mehrfach definierte Symbole gefunden
Kann mir jemand erklären wo der Mist herkommt? |
_________________ -+- SchNeiDi74 -+-
-+- www.creative-games.de -+- |
|
Nach oben |
|
|
Patrick Dark JLI Master
Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
|
Nach oben |
|
|
schneidi74 Senior JLI'ler
Anmeldedatum: 14.05.2004 Beiträge: 243
Medaillen: Keine
|
Verfasst am: 21.10.2005, 20:46 Titel: |
|
|
na das muss einem dummen menschen doch wirklich gesagt werden...
Dank dir!! _________________ -+- SchNeiDi74 -+-
-+- www.creative-games.de -+- |
|
Nach oben |
|
|
Slider|SD Mini JLI'ler
Alter: 44 Anmeldedatum: 20.10.2005 Beiträge: 18 Wohnort: Gilching Medaillen: Keine
|
Verfasst am: 21.10.2005, 22:11 Titel: |
|
|
Nur noch zur Anmerkung:
das ist ein gutes Beispiel, um sich den Unterschied zwischen Deklarieren und Definierieren klar zu machen...
In Header Files werden Variablen nur deklariert, niemals aber definiert... das geschieht in den Header Files, z.B. im Konstruktor...
Gruß
Slider _________________ Stefan Schwarzbach
Lead Programmer & Geschäftsführer
Grotesque - Die geniale Mischung aus Gothic , Final Fantasy und Monkey Island
Silent Dreams - We Create Dreams |
|
Nach oben |
|
|
Patrick Dark JLI Master
Anmeldedatum: 25.10.2004 Beiträge: 1895 Wohnort: Düren Medaillen: Keine
|
Verfasst am: 22.10.2005, 09:15 Titel: |
|
|
Slider|SD
In Headern werden auch nicht Variablen deklariert. Höchstens mit extern exportiert, das war aber auch schon alles. Strukturen und Klassen sind ein ganz anderes Themengebiet, es geht hier nur um Variablen, sonst nichts. _________________ 'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.' - KIA
[ German Game Dev | Boardsuche hilft sehr oft | Google rockt | Wie man Fragen richtig stellt | ICQ#: 143040199 ] |
|
Nach oben |
|
|
Fallen JLI MVP
Alter: 40 Anmeldedatum: 08.03.2003 Beiträge: 2860 Wohnort: Münster Medaillen: 1 (mehr...)
|
Verfasst am: 22.10.2005, 14:34 Titel: |
|
|
@Patrick: Slider hat sich evtl etwas schlecht ausgedrückt, aber:
Slider|SD hat Folgendes geschrieben: | Nur noch zur Anmerkung:
In Header Files werden Variablen nur deklariert, niemals aber definiert... das geschieht in den Header Files, z.B. im Konstruktor...
|
_________________ "I have a Core2Quad at 3.2GHz, 4GB of RAM at 1066 and an Nvidia 8800 GTS 512 on Vista64 and this game runs like ass whereas everything else I own runs like melted butter over a smokin' hot 18 year old catholic schoolgirl's arse." |
|
Nach oben |
|
|
|