在c中看不到SDL的窗口

Sha*_*ers 1 c sdl

我只是想测试我的 SDL 安装(我使用了 apt install libsdl2-dev),我已经包含了该库并尝试了此代码以查看它是否有效,我什至没有收到任何错误,并且 SDL_Init 返回成功,但我看不到任何窗口出现:

    #include <stdio.h>
#include <SDL2/SDL.h>

int main()
{
    printf("%d", SDL_Init(SDL_INIT_EVERYTHING));
}
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的编译标志:

gcc -c lol.c `pkg-config sdl2 --cflags`
Run Code Online (Sandbox Code Playgroud)

我也尝试过这个,但它也不起作用:

gcc -o program_name lol.c -std=c99 -I/usr/include/SDL2 -lSDL2main -lSDL2
Run Code Online (Sandbox Code Playgroud)

Cub*_*bic 5

你的代码工作正常。SDL_Init不会创建任何窗口或类似的东西,它只是设置库其余部分工作所需的一些后台状态。

您需要SDL_CreateWindow创建一个窗口(如果您愿意,Sdl 可以与多个窗口一起使用,或者根本没有窗口)。

  • 您可能还需要一个事件循环(`SDL_PollEvent()`),否则某些平台不会显示窗口。 (3认同)