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

[SFML 2.0, C++] Dziwny błąd..

Ostatnio zmodyfikowano 2013-07-25 22:57
Autor Wiadomość
krystian11102
Temat założony przez niniejszego użytkownika
[SFML 2.0, C++] Dziwny błąd..
» 2013-07-22 01:27:27
Witam.
Przy następnym (bo było ich kilka) podejściu do nauki SFML 2.0 wywaliło mi dziwny ERROR..
Screen:

Kod:

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

int main()
{
    // Create the main window
    sf::RenderWindow window( sf::VideoMode( 800, 600 ), "SFML window" );
   
    // Load a sprite to display
    sf::Texture texture;
    if( !texture.loadFromFile( "box.jpg" ) )
         return EXIT_FAILURE;
   
    sf::Sprite sprite( texture );
   
   
   
    // Start the game loop
    while( window.isOpen() )
    {
        // Process events
        sf::Event event;
        while( window.pollEvent( event ) )
        {
            // Close window : exit
            if( event.type == sf::Event::Closed )
                 window.close();
           
        }
       
        // Clear screen
        window.clear();
       
        // Draw the sprite
        window.draw( sprite );
       
       
        // Update the window
        window.display();
    }
   
    return EXIT_SUCCESS;
}



Linkowane:

sfml-main.lib
sfml-graphics.lib
sfml-audio.lib
sfml-network.lib
sfml-system.lib
sfml-window.lib

MVC 2012 :P

Wie ktoś ocb ?
P-88513
jankowalski25
» 2013-07-22 15:11:02
Spróbuj użyć debuggera.

//edit: Jeśli dobrze widziałem na screenie, to problem jest w linii 11.
C/C++
if( !texture.loadFromFile( "box.jpg" ) )
Jeśli chodzi o tą funkcję, to czasami może powodować błędy:
The loadFromFile function sometimes fails with no obvious reason. First, check the error message printed by SFML in the standard output (check the console). If the message is unable to open file, make sure that the working directory (which is the directory any file path will be interpreted relatively to) is what you think it is: when you run the application from the explorer, the working directory is the executable folder, but when you launch your program from your IDE (Visual Studio, Code::Blocks, ...) the working directory is sometimes set to the project directory instead. This can generally be changed easily in the project settings.

//edit2:
Unhandled exception at 0x57911F1A (msvcr100.dll) in ALLEGRO5.exe: 0xC0000005:
Access violation reading location 0x00211000.
Czyli został wyrzucony wyjątek z pliku msvcr100.dll oraz program próbował dostać się do nieprawidłowego obszaru pamięci. Możesz ewentualnie spróbować przechwycić ten wyjątek lub za pomocą debuggera sprawdzić, w którym miejscu występuje drugi z wymienionych błędów.
P-88553
krystian11102
Temat założony przez niniejszego użytkownika
» 2013-07-22 16:57:18
Nie kumam .. Mógłbyś powiedzieć dokładnie co mam zrobić? Lub nakierwać mnie na jakiś tut? ...
P-88564
jankowalski25
» 2013-07-23 13:09:43
//edit: Sprawdź, czy SFML jest dobrze zainstalowany. » Kurs SFML 2.0, C++Instalacja i konfiguracja dział kursu.

1. Uruchom debugger i sprawdź, czy na pewno chodzi o tą linię.
Jeśli to nie ta linia, to napisz, gdzie jest błąd.
Jeśli to dotyczy tej linii:
1. Sprawdź komunikat błędu wypisywany przez SFML w konsoli.
2. Upewnij się, że plik box.jpg jest we właściwym miejscu.
3. Jeśli to nie pomoże, użyj następującego kodu:
C/C++
#include <exception>
//pozostały kod do linii 11.
try
{
    if( !texture.loadFromFile( "box.jpg" ) )
         return EXIT_FAILURE;
   
}
catch( std::exception & e )
{
    std::cout << "error: " << e.what() << '\n'; //komunikat ze standardowym błędem
}
catch(...)
{
    std::cout << "unknown error.\n"; //nieznany błąd
}
//reszta kodu
1. Jeśli po wykonaniu tego kodu nie otrzymasz żadnego komunikatu, to znaczy, że żaden wyjątek nie jest wyrzucany i błąd występuje gdzieś indziej.
2. Jeśli pojawi się napis "error: tutaj_tekst_błędu", to możesz spróbować wpisać to w google i szukać rozwiązania konkretnego błędu.
3. Jeśli pojawi się napis "unknown error", to znaczy, że wyjątek jest niestandardowy (wtedy poszukaj, jakie typy wyjątków może wyrzucać plik msvcr100.dll i spróbuj je przechwycić).
P-88613
domin568
» 2013-07-23 15:30:17
Podobny błąd można również dostać jak się schowa okienko do paska na jakiś czas (przynajmniej u mnie )
P-88626
Mrovqa
» 2013-07-23 16:09:32
Ściągnąłeś odpowiednią paczkę SFMLa (VS 20XX)? Linkujesz odpowiednie biblioteki do odpowiedniego buildu (Release/Debug)?
P-88631
krystian11102
Temat założony przez niniejszego użytkownika
» 2013-07-24 02:50:09
@jankowalski25, Tak, na pewno zainstalowałem dobrze :)

@Mrovqa, Ściągnąłem z wersji 2010 do 2012 .. To chyba wielkiej różnicy nie robi. Wszystkie inne kody działają oprócz wczytywania obrazka. .. Może przeinstaluje MVC++ 2012 ...
Przeinstaluje, Sciągnę od nowa (sfml), i Zainstaluje .. Oby działało .
PS sory że nie odpowiedziałem wczoraj, nie miałem neta :)
 
P-88650
MrPoxipol
» 2013-07-24 08:56:36
Jest różnica ;p Pobierz wersję dla MVC 12(11)
P-88651
« 1 » 2
  Strona 1 z 2 Następna strona