Moin moin....
Ich wollte mich etwas mit der SDL beschäftigen und bin auf folgendes Problem gestoßen:
Sobald ich versuche zB string, list oder den iostream zu includieren,
bekomme ich folgende Fehlermeldung:
Beispiel mit:
#include <string>
error C2504: 'exception' : Basisklasse undefiniert
error C2084: Funktion 'int __cdecl SDL_main(int,char *[])' hat bereits einen Funktionsrumpf
versuche ich den iostream einzubinden bekomme ich 102 Fehlermeldungen wobei der erste Fehler mich auf die:
string standard header Datei verweist....
Bei <list> sind es "nur" 33 Fehler und ich werde ebenfalls auf die zuständige HeaderDatei verwiesen.
Ich poste einfach mal den simplen Beispielcode
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#include <stdlib.h>
#include <SDL.h>
int main(int argc, char *argv[])
{
SDL_Surface *screen;
SDL_Event event;
int done = 0;
if (SDL_Init(SDL_INIT_VIDEO) == -1) {
printf("Can't init SDL: %s\n", SDL_GetError());
exit(1);
}
atexit(SDL_Quit);
screen = SDL_SetVideoMode(640, 480, NULL, SDL_HWSURFACE | SDL_DOUBLEBUF);
if (screen == NULL) {
printf("Can't set video mode: %s\n", SDL_GetError());
exit(1);
}
while (!done) {
while (SDL_PollEvent(&event)) {
switch (event.type) {
case SDL_QUIT:
done = 1;
break;
}
}
}
return 0;
}
|
Wie man sieht handelt es sich nur um die Initialisierung der SDL und dem Erstellen eines Fensters (läuft Problemlos).
Sobald ich jetzt aber vor oder nach der Einbindung der SDL.h zB.
#include<string> setze kommen die besagten Fehlermeldungen.
WAS FEHLT ?
using namespace std;
hilft mir leider auch nicht weiter.
Zur Info:
Die Konsole im Hintergrund habe ich ausgeschalten, wobei das imo nichts ändern sollte.
BTW mich wundert, daß im SDL Spiel des Buches C++ fuer Spieleprogrammierer in der Klasse CSprite, dortige Funktion "Load"
ein string erwartet wird.
Ich kann jedoch im ganzen Programm nirgends #include <string> finden.
Das verwirrt mich jetzt doch ziemlich. Was läuft da anders?