Include Problem

kle-ben

Erfahrenes Mitglied
Hi !

Ich hab ein Problem beim includen meiner header-files,
vieleicht kann mir ja jemand weiter helfen, denn ich bin
grad am Ende meines Wissens angelangt.

Ich hab eine Datei global.h die sieht ca. so aus:
Code:
#ifndef GLOBAL_H
#define GLOBAL_H


    #define WIDTH        1088
    #define HEIGHT        640
    ......

#include "SDL/SDL.h"
#include "SDL/SDL_ttf.h" 
#include <string>
#include <iostream>

    ...

    SDL_Surface*     screen;
    SDL_Event     event;
    TTF_Font*    font;


    ...


#endif



Da stehen wie der Name Schon vermuten läst einige globale
Variablen und auch ein globale Funktionen .

Wennich diese global.h jetzt einbinde bekomme ich jede Menge
multiple definition Fehler. Allerdings nur wenn ich Sie in meine
button.cpp:
Code:
      #include "SDL/SDL.h"
#include "SDL/SDL_ttf.h" 
#include <string>


#include "global.h"

#include "button.h"
include.

Bei allen aderen Dateien funktioniert es, zumindest
im moment...

Wäre sehr dankbar wenn mir jemand weiterhelfen könnte.

Gruß Benny
 
Wahrscheinlich hast Du in Deiner SDL.h keinen Schutz vor Mehrfacheinbindung eingebaut, so wie Du es in deiner globals.h gemacht hast.
 
Nein die SDL ist eine Bibliothek für Spieleentwicklung,
ist also nicht von mir. Und die multiple definition Fehler
zielen ganz speziell auf die globalen Variablen und
Funktionen ddie dort stehen.

Benny
 
Hallo,
kle-ben hat gesagt.:
Hi !
<snip />
C++:
#include "SDL/SDL.h"
#include "SDL/SDL_ttf.h" 
#include <string>


#include "global.h"

#include "button.h"
include.
<snip />


wenn du die SDL.h und die SDL_ttf.h schon in deiner globals.h inkludierst,
wieso inkludierst du sie in deiner button.cpp Datei dann nochmal wenn du dort
eh schon globals.h inkludierst?

Gruß,

RedWing
 
War einfach nur doppelt vom vielen probieren.
Aber daran liegts nicht.
Bentutze jetzt lokale Variablen und Pointer,
funktioniert alles und ist auch sauberer.

Danke fuer die Hilfe.

Gruß Benny
 
Zurück