Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Crash systématique de l'exécutable  (Lu 5796 fois)

0 Membres et 1 Invité sur ce sujet

Bl4ckb0ne

  • Newbie
  • *
  • Messages: 34
    • Voir le profil
Crash systématique de l'exécutable
« le: Décembre 09, 2012, 11:19:47 pm »
Décidément, c'est pas mon jour ^^

J'ai effectué un passage de la 1.6 à la 2.0, mais impossible de lancer l'exécutable! Tout plante systématiquement, rien à faire.

Je file le code (basique de chez basique, je débute)

#include <SFML/Graphics.hpp>
#include <SFML/Window.hpp>
#include <iostream>
#include <sstream>
#include "define.h"
#include "fonts.h"

using namespace std;

int main()
{
    // Calcul FPS
    sf::Clock clock;
    sf::Time elapsed1 = clock.getElapsedTime();

    // Sprites test pour déplacement
    sf::Texture Texture_Left;
        if (!Texture_Left.loadFromFile("sprites/left.png"))
                std::cout << "Erreur du chargement de left.png" << std::endl;
        else
                std::cout << "Chargement réussi de left.png" << std::endl;

    sf::Sprite Left(Texture_Left);

    sf::Texture Texture_Right;
        if (!Texture_Right.loadFromFile("sprites/right.png"))
                std::cout << "Erreur du chargement de right.png" << std::endl;
        else
                std::cout << "Chargement réussi de right.png" << std::endl;

    sf::Sprite Right(Texture_Right);

    sf::Texture Texture_Jump;
        if (!Texture_Jump.loadFromFile("sprites/jump.png"))
                std::cout << "Erreur du chargement de jump.png" << std::endl;
        else
                std::cout << "Chargement réussi de jump.png" << std::endl;

    sf::Sprite Jump(Texture_Jump);

    //Sprite du background
    sf::Texture Background;
        if (!Background.loadFromFile("background/Sundown.png"))
                std::cout << "Erreur du chargement de Sundown.png" << std::endl;
        else
                std::cout << "Chargement réussi de Sundown.png" << std::endl;

    // Chargement de l'écran de pause
    sf::Texture Pause_Screen;
        if (!Pause_Screen.loadFromFile("background/Pause.png"))
                std::cout << "Erreur du chargement de Pause.png" << std::endl;
        else
                std::cout << "Chargement réussi de Pause.png" << std::endl;

    // Police d'écriture Visitor
    sf::Font Visitor;
        if (!Visitor.loadFromFile("font/visitor.ttf"))
                std::cout << "Erreur du chargement de Visitor.ttf" << std::endl;
        else
                std::cout << "Chargement réussi de Visitor.ttf" << std::endl;

    // Création de la fenêtre principale
    sf::RenderWindow App(sf::VideoMode(800, 600), "SFML Graphics");



        // Début de la boucle de rendu
while (App.isOpen())
    {

        //Affichage des IPS
        App.setFramerateLimit(60);
        sf::Time frameTime = clock.restart();
        float framerate = 1 / (frameTime.asMilliseconds() * 0.001);
        std::ostringstream oss;                             //
        oss << framerate;                                   // Conversion des IPS en string pour affichage
        sf::Text FPS_affichage (oss.str(), Visitor, 50);  //

        //Progression des events
        sf::Event Event;
        while (App.pollEvent(Event))
        {
            if (Event.type == sf::Event::Closed)        // Fermeture de la fenêtre via la croix
                App.close();

            if (sf::Keyboard::isKeyPressed(sf::Keyboard::Escape))   // Fermeture de la fenêtre via escape
            {
                App.close();
            }


// Affichage des IPS lors de la pression de F1
           if(sf::Keyboard::isKeyPressed(sf::Keyboard::F1))
            {
                App.draw(FPS_affichage);
            }

// Fermeture des IPS lors de la pression de F2
            if(sf::Keyboard::isKeyPressed(sf::Keyboard::F2))
            {
                App.clear();
            }


/* Event ecran de pause
            if(sf::Keyboard::isKeyPressed(sf::Key::P))
            {
                App.clear();
                App.Draw(Pause_Screen);
            }
*/


            }

            App.display();

        }



    }

 

P.s: J'ai une carte graphique Ati, drivers à jour.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Crash systématique de l'exécutable
« Réponse #1 le: Décembre 10, 2012, 08:11:50 am »
Quelle version de gcc ?
Laurent Gomila - SFML developer

Bl4ckb0ne

  • Newbie
  • *
  • Messages: 34
    • Voir le profil
Re : Crash systématique de l'exécutable
« Réponse #2 le: Décembre 10, 2012, 11:12:52 pm »
Version 4.4.1

Les includes de la SFML sont copiés dans le dossier MinGw de Code Blocks, et sont appelé via les #includes, aucune linkage dans les build options etc.

Bl4ckb0ne

  • Newbie
  • *
  • Messages: 34
    • Voir le profil
Re : Crash systématique de l'exécutable
« Réponse #3 le: Décembre 11, 2012, 10:36:29 pm »
up, le problème est toujours là ><

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Crash systématique de l'exécutable
« Réponse #4 le: Décembre 11, 2012, 10:40:13 pm »
T'as téléchargé quelle version de SFML (SJLJ ou DW2) ? Et ton gcc 4.4.1, c'est un SJLJ ou DW2 (ne demande pas comment le savoir, c'est marqué dans le tutoriel) ?

Le debugger dit quoi par rapport au crash ?
Laurent Gomila - SFML developer

Bl4ckb0ne

  • Newbie
  • *
  • Messages: 34
    • Voir le profil
Re : Crash systématique de l'exécutable
« Réponse #5 le: Décembre 11, 2012, 11:56:29 pm »
J'ai la version 2.0 en SJLJ (et j'ai une carte Ati)

Je n'arrive pas à faire parler l'erreur (Windows 7), j'ai juste l'option "arrêter maintenant")

Le debugger ne me dit rien (ou peut-être que je ne regarde pas le bon endroit), le programme compile normalement, et s'exécute sans broncher. Aucun message de réussite du chargement dans la console, la fenêtre se créer, et plante immédiatement après.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Crash systématique de l'exécutable
« Réponse #6 le: Décembre 12, 2012, 07:44:51 am »
Si ça crashe, tu devrais pouvoir debugger. Lis un rapide tutoriel sur ton EDI / debugger si tu ne sais pas comment l'utiliser, c'est très simple.

Et sinon:
Citer
Et ton gcc 4.4.1, c'est un SJLJ ou DW2
Laurent Gomila - SFML developer

Bl4ckb0ne

  • Newbie
  • *
  • Messages: 34
    • Voir le profil
Re : Crash systématique de l'exécutable
« Réponse #7 le: Décembre 12, 2012, 11:31:32 am »
Je regarde le debugger d'ici quelques heures, parce que je n'ai pas accès à mon pc dans l'immédiat.

Et pour mon code::Blocks, c'est un SJLJ

Edit : La réponse du debug

#0 669970A7     sf::priv::ImageLoader::loadImageFromFile(std::string const&, std::vector<unsigned char, std::allocator<unsigned char> >&, sf::Vector2<unsigned int>&) () (C:\Users\Simon\Dropbox\Test_jeu\Test_Jeu_Windows\bin\Debug\sfml-graphics-2.dll:??)
#1 66985189     sf::Image::loadFromFile(std::string const&) () (C:\Users\Simon\Dropbox\Test_jeu\Test_Jeu_Windows\bin\Debug\sfml-graphics-2.dll:??)
#2 669A2D0E     sf::Texture::loadFromFile(std::string const&, sf::Rect<int> const&) () (C:\Users\Simon\Dropbox\Test_jeu\Test_Jeu_Windows\bin\Debug\sfml-graphics-2.dll:??)
#3 004014A4     main() (C:\Users\Simon\Dropbox\Test_jeu\main.cpp:18)
 
« Modifié: Décembre 12, 2012, 06:37:40 pm par Bl4ckb0ne »

Bl4ckb0ne

  • Newbie
  • *
  • Messages: 34
    • Voir le profil
Re : Crash systématique de l'exécutable
« Réponse #8 le: Décembre 13, 2012, 12:05:27 am »
Up avec l'image, les dll sont pourtant bien là =/


Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Crash systématique de l'exécutable
« Réponse #9 le: Décembre 13, 2012, 07:54:26 am »
Si c'était un problème de DLL manquante l'exécutable ne se lancerait même pas.

Je pense que c'est un souci d'environnement / configuration. Au pire essaye de recompiler SFML pour en être absolument certain.

Essaye aussi de créer la fenêtre au tout début du main(), avant de charger les textures.
Laurent Gomila - SFML developer

Bl4ckb0ne

  • Newbie
  • *
  • Messages: 34
    • Voir le profil
Re : Crash systématique de l'exécutable
« Réponse #10 le: Décembre 13, 2012, 11:12:34 am »
Ok, j'essaye tout ça se soir et te donne le résultat.

Bl4ckb0ne

  • Newbie
  • *
  • Messages: 34
    • Voir le profil
Re : Crash systématique de l'exécutable
« Réponse #11 le: Décembre 13, 2012, 11:25:57 pm »
J'ai mis la création de la fenêtre juste après la parenthèse du main, et recompiler les sources, toujours rien =(

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Crash systématique de l'exécutable
« Réponse #12 le: Décembre 14, 2012, 08:11:14 am »
Tu es sûr que tu as bien recompilé SFML, et remplacé les bibliothèques par les nouvelles ?
Laurent Gomila - SFML developer

Bl4ckb0ne

  • Newbie
  • *
  • Messages: 34
    • Voir le profil
Re : Crash systématique de l'exécutable
« Réponse #13 le: Décembre 14, 2012, 11:25:34 am »
Je vais re essayer ce soir, là, je pars au lycée.

Bl4ckb0ne

  • Newbie
  • *
  • Messages: 34
    • Voir le profil
Re : Crash systématique de l'exécutable
« Réponse #14 le: Décembre 15, 2012, 12:09:04 am »
J'ai recompilé les sources via un autre dossier téléchargé sur sfmlcoder, et j'ai suivi le tuto à la lettre; ça fonctionne!

La fenêtre s'ouvre, mais il est incapable de m'ouvrir les images et les polices d'écriture ><

Failed to load image "sprites/left.png". Reason : Unable to open file
Erreur du chargement de left.png
Failed to load image "sprites/right.png". Reason : Unable to open file
Erreur du chargement de right.png
Failed to load image "sprites/jump.png". Reason : Unable to open file
Erreur du chargement de jump.png
Failed to load image "background/Sundown.png". Reason : Unable to open file
Erreur du chargement de Sundown.png
Failed to load image "background/Pause.png". Reason : Unable to open file
Erreur du chargement de Pause.png
Failed to load font "font/visitor.ttf" (failed to create the font face)
Erreur du chargement de Visitor.ttf
 

 

anything