C SDL2无法正确查看X11/视频设备
(我知道有大量关于这个主题的文档,但我要么太缺乏经验,找不到有效的文档,要么我有与文档中不同的问题) 我正在尝试加载一个简单的SDL包装器,它是我在Linux上的Mac上编写的(Lubuntu 20.04,LXQt 0.14.1)。但是,当调用C SDL2无法正确查看X11/视频设备,c,ubuntu,sdl,x11,C,Ubuntu,Sdl,X11,(我知道有大量关于这个主题的文档,但我要么太缺乏经验,找不到有效的文档,要么我有与文档中不同的问题) 我正在尝试加载一个简单的SDL包装器,它是我在Linux上的Mac上编写的(Lubuntu 20.04,LXQt 0.14.1)。但是,当调用SDL\u Init(SDL\u Init\u VIDEO)时,将生成以下SDL\u Error()返回语句:没有可用的视频设备。我已验证我的显示环境变量设置为:0(根据xterm,这是正确的),并且我的SDL\u视频驱动程序未设置 将mySDL\u VI
SDL\u Init(SDL\u Init\u VIDEO)
时,将生成以下SDL\u Error()
返回语句:没有可用的视频设备
。我已验证我的显示
环境变量设置为:0
(根据xterm
,这是正确的),并且我的SDL\u视频驱动程序
未设置
将mySDL\u VIDEODRIVER
设置为x11会在initx11不可用时触发此可选错误
我相当困惑,我能从中得出的唯一可能的结论是,不知何故,我没有使用x11,或者是在做错事
下面是触发此错误的一个最小示例:
#include <SDL2/SDL.h>
int main() {
SDL_Init(SDL_INIT_VIDEO);
printf("%s\n", SDL_GetError());
}
#包括
int main(){
SDL_Init(SDL_Init_视频);
printf(“%s\n”,SDL_GetError());
}
我真的很感激能得到的任何帮助
我正在使用SDL2的libsdl2 dev
apt包结果表明,我在编译过程中忘记链接X11,导致SDL_视频无法初始化。这是通过使用-lX11解决的
谢谢你的帮助 SDL_Init返回了什么?@user253751-1cases@TTG您是否从报告DISPLAY
的同一个xterm运行它,并且您可以从中启动,例如glxinfo
或其他xterm
?或者是没有连接到x11服务器的单独shell(例如ctrl-alt-f1或远程ssh会话上的虚拟tty)?您确定正在运行x11而不是wayland(ps aux | grep X
)?@keltar xorg进程正在运行时,它是x11。我是从正确的终端运行的是,我在本地机器上(不是ssh或whatelse)@TTG,所以您可以从您的终端启动第二个xterm
,但不启动您的测试程序?真奇怪。ldd./u程序的输出是什么?其他SDL2程序是否有效(例如supertux2)?您是否可以自己构建SDL并尝试使用它,最好启用调试符号?