c++ - 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 时,它没有响应。有什么解决办法吗?
解决方案
好的,所以我下载了旧版本 2.0.5 而不是新的“稳定”版本,并且似乎可以正常工作。我猜新版本只是有需要修复的错误。
推荐阅读
- ios - 将桥接的 Swift 类型传递给期望 AnyObject 的泛型函数
- javascript - RSA 使用 Javascript 加密并使用公共密钥在 Java 中解密
- c# - 如何仅以编程方式突出显示行
- android - 如何在模拟器中模拟传入的语音(在电话中)
- mysql - Query builder proper sintax for 4 joins + 3 where clauses (Laravel5.7)
- powershell - Export-Csv 在导出其成员时不显示 AD 组名称
- macos - 如何在介子中为调试构建指定 rpath?
- docker - 服务发现不适用于 Route 53 和 ECS Nginx 容器托管 Angular 代码
- c# - 在运行时创建的方法会根据其运行方式更改另一个方法调用的参数顺序
- oracle - 在 oracle 的表的第三列中仅显示两列的不匹配值