SDL2 未正确看到 X11/Video 设备

SDL2 is not seeing X11/Video Device correctly

(我知道有大量关于该主题的文档,但我要么经验不足,无法找到有效的文档,要么我遇到的问题与文档中的问题不同)

我正在尝试加载一个简单的 SDL 包装器,它是我在 Mac 和 Linux 上编写的(Lubuntu 20.04,LXQt 0.14.1)。但是,当调用 SDL_Init(SDL_INIT_VIDEO) 时,会生成以下 SDL_Error() return 语句:No available video device。我已验证我的 DISPLAY envvar 设置为 :0(根据 xterm 这是正确的)并且我的 SDL_VIDEODRIVER 未设置。

将我的 SDL_VIDEODRIVER 设置为 x11 会在初始化时触发此替代错误 x11 not available

我很困惑,我可以从中得出的唯一可能的结论是我不知何故没有使用 x11 或者正在处理这个错误。

这是触发此错误的最小示例:

#include <SDL2/SDL.h>

int main() {
    SDL_Init(SDL_INIT_VIDEO);
    printf("%s\n", SDL_GetError());
}

非常感谢能得到的任何帮助!

我正在使用 libsdl2-dev SDL2 的 apt 包

原来是我在编译时忘记了linkX11导致SDL_VIDEO初始化失败。这是通过使用 -lX11.

解决的

感谢您的帮助!