样本 SDL 程序给出一个空 window

Sample SDL program gives an empty window

配置:具有出色桌面环境的 archlinux

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

结果是屏幕中间是空的 window(我可以通过它看到我的控制台)。即使我按下 mod4+Enter,它也不能很好地与其他人拼接。这是为什么?

(我更新了系统,重装了sdl2,也没有找到相关的点击浏览google。)

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