首页 > 解决方案 > c++ sdl窗口冻结和sdl问题

问题描述

SDL 让我很生气,请帮忙。我只是想显示一个窗口,这是代码:

#include <iostream>
#define SDL_MAIN_HANDLED
#include "SDL.h"

int main()
{
    if (SDL_Init(SDL_INIT_VIDEO) != 0) {
        std::cout << "SDL_Init Error: " << SDL_GetError() << std::endl;
        return 1;
    }
    SDL_Window *window = SDL_CreateWindow("Game", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 600, 480, SDL_WINDOW_SHOWN);
    if (window == NULL)
        return 1;
    SDL_Event event;
    bool running = true;
    while (running) {
        while (SDL_PollEvent(&event)) {
            switch (event.type) {
                case SDL_QUIT:
                    running = false;
                    break;
            }
        }
    }
    SDL_Quit();
    std::cout << "Hello :)" << std::endl;
    return 0;
}

现在,问题是它说程序现在响应并且我有一个鼠标的“加载”图标。第二个问题是由于某种原因我不能使用 SDL_INIT_EVERYTHING,它只是卡住了,当我在初始化后尝试输出时没有任何输出。我尝试了多个 sdl 文件 x86 , x64。我有 Windows 10 64 位操作系统。我真的开始在这里失去理智,请帮助。

编辑 :

该窗口与 SDL_INIT_EVERYTHING 完美配合,但计算机加载所有内容需要 1 分 50 秒。这是很多时间。

但是当我只初始化 SDL_INIT_VIDEO 时,它没有响应。有什么解决办法吗?

标签: c++sdl

解决方案


好的,所以我下载了旧版本 2.0.5 而不是新的“稳定”版本,并且似乎可以正常工作。我猜新版本只是有需要修复的错误。


推荐阅读