SDL2 根本没有收到任何事件

SDL2 not recieving any events at all

在一个SDL2项目中,SDL_PollEvents( SDL_Event* e )不发送任何事件,总是returns0,所以我无法处理任何事件。我的事件处理循环看起来不错:

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;
    }
}

另一方面,它编译得很好,可以绘图,而且我确定它不会陷入无限循环(我让它在每一帧都打印出一条消息)。

我 link 反对 SDL2 和所有其他依赖项,我什至 gcc/g++ 调用 sdl-config --cflags。如何解决这个问题?

你不应该打电话给 sdl-config --cflags。这是针对 SDL(库的第一个版本),而不是 SDL2。它以某种方式发生冲突并阻止所有事件到达 SDL_PollEvents()。删除它,它应该可以工作!