2009-04-12 4 views
0

Ich habe einen Kompilierfehler in für eine SDL_Surface Variable bekommen. Seltsamerweise ist dies das erste Mal, dass ich diese Art von Fehler erhalten habe, da ich diese Codezeile zuvor verwendet habe und es hat gut funktioniert.Extern kompilieren Fehler mit SDL_Surface

One (von mehreren mit dem gleichen Problem) Beispielcodezeile, die dieses Problem verursacht ist:

extern SDL_Surface *screen; 

Der resultierende Fehler ist dies:

expected init-declarator before "extern"| 
expected `,' or `;' before "extern"| 

||=== Build finished: 2 errors, 0 warnings ===| 

ich den Fehler zu verstehen versucht, aber ich kann nicht sagen, was es ist. Weiß jemand, was falsch sein könnte?

Antwort

0

Es ist eine wilde Vermutung, da ich nicht viel zu arbeiten habe. Haben Sie alle Header für SDL_Surface davor extern?

+0

Ya, die Header-Datei ist #include "SDL.h" und ich habe diese Zeile für mein vorheriges Projekt verwendet –

+0

@Anoymonous: Sie haben mehrere Probleme erwähnt. Wenn dies nicht der erste Fehler ist, den Sie getroffen haben, versuchen Sie, die vorherigen Fehler zu beheben. – dirkgently

0

Offenbar fehlt Ihnen die Definition von SDL_Surface. Stellen Sie sicher, dass #include die richtige Headerdatei ist, in der SDL_Surface definiert ist. Alternativ können, wenn Sie nicht tatsächlich die screen Variable (dh du bist nichts von seiner Felder zugreifen), können Sie es erklären einen unvollständigen Typ verwendet als so:

extern struct SDL_Surface *screen;