Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[SFML, C++] Okno aplikacji się nie pojawia

Ostatnio zmodyfikowano 2011-07-21 16:23
Autor Wiadomość
dan122
Temat założony przez niniejszego użytkownika
[SFML, C++] Okno aplikacji się nie pojawia
» 2011-07-21 12:18:02
Witam

Postanowiłem poradzić się was w moim problemie. Otóż postanowiłem zacząć zabawę z SFML. Zacząłem czytać wasz kurs podążałem według wskazówek. Napisałem taki oto kod:

C/C++
#include <SFML/Window.hpp>

int main()
{
    sf::Window okno( sf::VideoMode( 800, 600, 32 ), "okno" );
   
    while( okno.IsOpened() )
    {
        sf::Event event;
        while( okno.GetEvent( event ) )
        {
            if( event.Type == sf::Event::Closed )
            {
                okno.Close();
            }
            okno.Display();
        }
    }
    return 0;
}
 
Wszystko kompiluje się bez przeszkód. Nie ma ostrzeżeń, błędów kompilacji, błędów linkera. Problem polega na tym, że okno, które powinno się pokazać nie ukazuje się. Jest tylko aplikacja konsola, która powinna towarzyszyć temu okienku. Posiadam system Windows 7 x64 w wersji professional. Na drugim komputerze mam zainstalowany system Windows XP x86 również w wersji professional i program uruchamia się poprawnie.

Dodam, że przekompilowałem biblioteki na mojej wersji pakietu GCC, który jest w wersji 4.5.2.

Szukam jakiejś porady co z tym fantem zrobić. Wszelkie sugestie będą mile widziane :).
P-36426
malan
» 2011-07-21 12:20:34
Spróbuj
sf::RenderWindow
 zamiast
sf::Window
.
P-36428
dan122
Temat założony przez niniejszego użytkownika
» 2011-07-21 12:35:21
Niestety nie przyniosło to żadnego rezultatu. Problem dalej jest ten sam. Sprawdzałem na drugim komputerze i program działa poprawnie znowu.

Czy problemem może być wersja GCC, która jest 32bitowa?

http://tdm-gcc.tdragon.net/ - pobrałem go stąd. Widziałem też implementację 64 bitową ale było przy niej napisane "experimental", a skoro wszystko zawsze mi działało z tą wersją postanowiłem zainstalować tą. Nie mam pojęcia dlaczego tak się dzieję.
P-36432
malan
» 2011-07-21 12:37:00
C/C++
while( okno.GetEvent( event ) )
{
    if( event.Type == sf::Event::Closed )
         okno.Close();
   
}
okno.Display();
Przeoczyłem to ;p
P-36433
m4tx
» 2011-07-21 12:40:42
Jedna z mądrości Linuksowych: jeżeli coś nie działa, odpal to przez konsolę i sprawdź, co wyrzuca. :)
P-36435
dan122
Temat założony przez niniejszego użytkownika
» 2011-07-21 12:42:05
Kurde jaki babol :P. Dzięki. Nie zauważyłem tego.

C/C++
#include <SFML/Window.hpp>
//#include <SFML/Graphics.hpp>


int main()
{
    //sf::RenderWindow okno(sf::VideoMode(800, 600, 32), "okno");
    sf::Window okno( sf::VideoMode( 800, 600, 32 ), "okno" );
    sf::Event event;
    while( okno.IsOpened() )
    {
        while( okno.GetEvent( event ) )
        {
            if( event.Type == sf::Event::Closed )
                 okno.Close();
           
        }
        okno.Display();
    }
    return 0;
}

W tej chwili wygląda to tak. I dalej nie przyniosło żadnego rezultatu. U mnie nie działa. Tam działa.
P-36436
malan
» 2011-07-21 12:49:41
Karta graficzna? Sterowniki?
P-36438
m4tx
» 2011-07-21 12:50:38
Mój poprzedni post?
P-36439
« 1 » 2 3
  Strona 1 z 3 Następna strona