• 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

VPS Starter Arubacloud
+1 głos
419 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ź 402 wizyt
pytanie zadane 15 maja 2015 w C i C++ przez Nasos Bywalec (2,730 p.)
0 głosów
0 odpowiedzi 560 wizyt
pytanie zadane 8 kwietnia 2022 w C i C++ przez kubekszklany Gaduła (3,230 p.)
0 głosów
1 odpowiedź 351 wizyt

92,963 zapytań

141,928 odpowiedzi

321,161 komentarzy

62,297 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.

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...