• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

SDL2 w CodeBlocks, kompiluje ale nie wyświetla okna

Object Storage Arubacloud
+1 głos
401 wizyt
pytanie zadane 16 marca 2016 w C i C++ przez Gandalf Obywatel (1,260 p.)
edycja 16 marca 2016 przez Gandalf

Cześć, zainstalowałem bibliotekę SDL z tego poradnika:

http://lazyfoo.net/tutorials/SDL/01_hello_SDL/windows/codeblocks/index.php  bo tu były u mnie błędy:

https://www.youtube.com/watch?v=xnhtdaOlzGs&list=PLcrpDmg_oNOmIyPCfI-zCZ1zsqAq2Wjsx&index=4

Ale problem polega na tym, że wpisałem kod, wszystko się kompiluje ale nie wyświetla żadnego okna. Za to otrzymuje 3 warningi:

warning: passing NULL to non-pointer argument 6 of 'SDL_Window* ' SDL_CreateWindow (const...)

warning: unused variable 'obraz_tlo' [-Wunused-variable]

warning: unused variable 'ludzik' [-Wunused-variable]

 

Natomiast cały kod prezentuje się następująco:

#include <SDL.h>
#include <SDL_image.h>
//#include <SDL2/SDL_ttf.h>
//#include <SDL2/SDL_mixer.h>

#include <windows.h>

using namespace std;

SDL_Window* okno;
SDL_Surface* ekran;

int frame = 0;
SDL_Event zdarzenie;

int main(int argc, char* args[])
{
    SDL_Init(SDL_INIT_EVERYTHING);

    okno = SDL_CreateWindow("Prosta gra SDL", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 800, 600, NULL);
    ekran = SDL_GetWindowSurface(okno);

    while(true)
    {
        if(frame == 0)
        {
            SDL_Surface* obraz_tlo = IMG_Load("grafika/test.bmp");
            SDL_Surface* ludzik = IMG_Load("grafika/ludzik.bmp");

            while(frame == 0)
            {
                while(SDL_PollEvent(&zdarzenie))
                {
                    if(zdarzenie.type == SDL_QUIT)
                    {
                        exit(0);
                    }
                }

            }

            SDL_UpdateWindowSurface(okno);
            SDL_Delay(16.666666);
        }
    }
    return 0;
}

Jak myślicie może to być wina kompilatora?

[mały disclaimer:] Używam w tej chwili GNU GCC Compiler mimo że biblioteki ściągałem na mingw, to postaram się doinstalować do C:B MinGW osobno.

3 odpowiedzi

0 głosów
odpowiedź 16 marca 2016 przez zirael [PL] Mądrala (5,200 p.)
Moze sprawdz czy lokalizacja do obrazow jest poprawna, ewentualnie zainstaluj biblioteki jeszcze raz i upewnij sie czy maja wersje mingw. Pozdro.
0 głosów
odpowiedź 16 marca 2016 przez MetGang Nałogowiec (34,360 p.)
Z tego, co doczytałem (naprawdę, dokumentacja nie boli: https://wiki.libsdl.org/SDL_WindowFlags#Values), brakuje Ci jakiejś flagi, która definiowałaby rodzaj okna - przesyłasz tylko NULL. Spróbuj z innymi wartościami.
komentarz 16 marca 2016 przez Gandalf Obywatel (1,260 p.)
Poslugiwalem sie kodem przedstawionym w tutorialu i raczej zadnej flagi nie pominalem.
0 głosów
odpowiedź 17 marca 2016 przez Gandalf Obywatel (1,260 p.)
Niestety ale problem nadal pozostaje nierozwiązany, już drugi dzień jest ten sam rezultat, marnuję tylko czas na konfigurację środowiska która opóźnia mi naukę samego tworzenia projektów w SDL'u. Przykra sprawia i dosyć dziwna skoro się kompiluje ale nie wyświetla okna..

Podobne pytania

0 głosów
1 odpowiedź 390 wizyt
pytanie zadane 15 maja 2015 w C i C++ przez Nasos Bywalec (2,730 p.)
0 głosów
0 odpowiedzi 445 wizyt
pytanie zadane 8 kwietnia 2022 w C i C++ przez kubekszklany Gaduła (3,190 p.)
0 głosów
1 odpowiedź 189 wizyt

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...