繁体   English   中英

SDL2 事件在 C 中不起作用

[英]SDL2 events don't work in C

我试图在用 GCC 编译的 C 语言中使用 SDL2,但事件不起作用,例如,我无法使用 SDL_QUIT 关闭窗口。 请问代码有什么问题吗?

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

int main(int argc, char** argv)
{
    if (SDL_Init(SDL_INIT_VIDEO) != 0) {
        fprintf(stdout,"Échec\n", SDL_GetError());
        return -1;
    }

    SDL_Window* windowImg = NULL;
    SDL_Renderer* renderImg = NULL;
    int quit = 0;
    SDL_Event e;

    windowImg = SDL_CreateWindow("Test", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 400, 400, SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE);
    renderImg = SDL_CreateRenderer(windowImg, -1, SDL_RENDERER_ACCELERATED);

    while (!quit) {
        while (SDL_PollEvent(&e) != 0) {
            if (e.type == SDL_QUIT) {
                quit = 1;
                break;
            }
        }
    }

    SDL_DestroyWindow(windowImg);
    SDL_Quit();

    return 0;
}

好的,我忘了在构建选项 > 链接器选项中链接库:-lSDL2main -lSDL2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM