SDL mnie po prostu wkurza, proszę o pomoc. Próbuję tylko pokazać okno, oto kod :
#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;
}
Problem polega na tym, że mówi, że program teraz odpowiada i mam ikonę „ładowania” myszy. Drugą kwestią jest to, że z jakiegoś powodu nie mogę użyć SDL_INIT_EVERYTHING, po prostu się zacina i nic nie wyświetla, gdy próbuję wyprowadzić po init. Próbowałem wielu plików sdl x86, x64. Mam system operacyjny Windows 10 64bit. Naprawdę zaczynam tracić zdrowie psychiczne, proszę o pomoc.
EDYTOWAĆ :
Okno działa doskonale z SDL_INIT_EVERYTHING, ale ładowanie wszystkiego zajmuje komputerowi przez 1 minutę i 50 sekund. czyli dużo czasu.
Ale kiedy inicjuję tylko SDL_INIT_VIDEO , nie odpowiada. Jakieś rozwiązanie?
1 odpowiedź
Ok, więc pobrałem starszą wersję 2.0.5 zamiast nowej „stabilnej” i wygląda na to, że działa. Wydaje mi się, że nowa wersja zawiera tylko błędy, które należy naprawić.
Podobne pytania
Nowe pytania
c++
C ++ to język programowania ogólnego przeznaczenia. Pierwotnie został zaprojektowany jako rozszerzenie C i ma podobną składnię, ale teraz jest to zupełnie inny język. Użyj tego tagu w przypadku pytań dotyczących kodu (który ma zostać) skompilowany za pomocą kompilatora C ++. Użyj znacznika specyficznego dla wersji w przypadku pytań związanych z określoną wersją standardu [C ++ 11], [C ++ 14], [C ++ 17], [C ++ 20] lub [C ++ 23] itp. .