• 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

+1 głos
677 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ź 540 wizyt
pytanie zadane 15 maja 2015 w C i C++ przez Nasos Bywalec (2,730 p.)
0 głosów
0 odpowiedzi 967 wizyt
pytanie zadane 8 kwietnia 2022 w C i C++ przez kubekszklany Gaduła (3,250 p.)
0 głosów
0 odpowiedzi 281 wizyt
pytanie zadane 31 grudnia 2024 w Inne języki przez niezalogowany

93,731 zapytań

142,668 odpowiedzi

323,286 komentarzy

63,290 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...