In einem SDL2-Projekt sendet SDL_PollEvents(SDL_Event* e)
keine Ereignisse und gibt immer 0
zurück, sodass ich keine Ereignisse verarbeiten kann. Die Ereignisverarbeitungsschleife sieht gut aus:SDL2 empfängt überhaupt keine Ereignisse
SDL_Event e;
while(SDL_PollEvent(&e) > 0)
{
//this is never reached !
printf("recieved event %d\n", e.type);
switch(e.type)
{
case SDL_QUIT:
quit = true;
}
}
Auf der anderen Seite, es kompiliert fein, Werke zeichnen, und ich bin sicher, dass es nicht in einer Endlosschleife stecken ist (ich habe es bei jedem Rahmen eine Nachricht auszudrucken) .
Ich verknüpfe gegen SDL2
und alle anderen Abhängigkeiten, ich mache sogar gcc/g++
Anruf sdl-config --cflags
. Wie kann das behoben werden?
Und wenn jemand weiß, wie es die Ereignisse stoppt, würde ich mich freuen zu wissen! –
'--cflags' fügt den Include-Pfad zu den SDL1-Includes hinzu, nicht zu SDL2. Es ist schwer zu wissen (besonders, da Sie nicht angegeben haben, ob Sie '' oder ''), aber es ist wahrscheinlich eine Diskrepanz in der 'SDL_Event'-Struktur (sowohl Layout * und * die Größe selbst) zwischen SDL1 und SDL2, was zu undefiniertem Verhalten führt. –
@Tim Căs Thans! Ich bin auf Linux, so dass ich '' –