示例SDL程序给出一个空窗口

时间:2015-03-29 17:07:49

标签: c++ sdl-2 archlinux awesome-wm

配置:具有强大桌面环境的archlinux

我刚刚安装了sdl2,并尝试运行此示例代码: https://github.com/xyproto/hello_sdl2/blob/master/c%2B%2B/main.cpp

结果是一个空窗口(我可以通过它看到我的控制台)在屏幕中间。即使我点击mod4 + Enter,它也不会很好地与其他人拼凑。那是为什么?

(我更新了我的系统,重新安装了sdl2。我也找不到任何相关的热门浏览谷歌。)

1 个答案:

答案 0 :(得分:5)

所有窗口系统都要求您通过抽取消息队列来处理消息。有关SDL特定示例,请参阅this chapter,但实质上是定期调用SDL_PollEvent或其他SDL函数来处理任何事件。您的代码只会延迟一段时间。你不能让主线程处于睡眠状态,并期望窗口系统对此感到满意。他们参加比赛。当窗口被映射时,有一个事件,然后是另一个事件告诉窗口自己绘制或键盘输入。在等待时抽取事件队列。