gpt4 book ai didi

c - SDL 窗口未正确打开

转载 作者:太空宇宙 更新时间:2023-11-03 23:41:30 26 4
gpt4 key购买 nike

我正在学习使用 SDL 库。然而,在我遇到的众多问题中,有一个我在互联网上找不到解决方案。我用SDL_SetVideoMode设置了视频模式特性,但是当我运行程序时没有出现新的窗口。唯一发生的事情是我的终端显示了一个奇怪的模式,但它看起来不像我应该有的窗口,即使是这样,它也不会打开一个新窗口。这发生在我试图运行程序的 shell 窗口中。

程序如下:

#include <stdlib.h>
#include <SDL/SDL.h>

void pause(void)
{
int on = 1;
SDL_Event event;

while (on == 1)
{
SDL_WaitEvent(&event);
switch(event.type)
{
case SDL_QUIT:
on = 0;
}
}
}

int main(void)
{
if (SDL_Init(SDL_INIT_VIDEO) == -1)
return EXIT_FAILURE;
else
{
SDL_SetVideoMode(1024, 576, 32, SDL_HWSURFACE);
SDL_WM_SetCaption("SDL TEST", NULL);
pause();
SDL_Quit();
}
return EXIT_SUCCESS;
}

我使用了一个 Makefile,这是里面的内容:

FLAGS=-Wall -Wextra -Werror
SDLFLAG=-lSDL
NAME=sdl1

all: ${NAME} clean

${NAME}: ${NAME}.o
gcc -o ${NAME} ${NAME}.o ${FLAGS} ${SDLFLAG}

${NAME}.o: ${NAME}.c
gcc -o ${NAME}.o -c ${NAME}.c ${FLAGS} ${SDLFLAG}

clean:
rm -rf *.o

mrproper: clean
rm -rf ${NAME}

程序运行结果如下: enter image description here

发生了什么事?为什么我没有一个名为“SDL TEST”的新空窗口?

最佳答案

看起来 SDL 库试图使用 libcaca 显示您的窗口

首先尝试,如果您可以通过在您的 shell 中执行例如 xterm 打开到您的 XServer 的连接。如果可行,请尝试从

开始
SDL_VIDEODRIVER=x11 ./sdl1

强制使用 x11 视频驱动程序并查看它是否正常工作。

关于c - SDL 窗口未正确打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44158776/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com