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

Auteur Sujet: Segfault  (Lu 7015 fois)

0 Membres et 2 Invités sur ce sujet

DaKanibal

  • Newbie
  • *
  • Messages: 12
    • Voir le profil
Segfault
« le: Mai 04, 2013, 12:29:43 am »
Bonsoir à tous, j'encoure un problème de Segfault actuellement sur n'importe quel code SFML que je lance, le programme plantant alors lamentablement.
Voici ce que j'ai essayé :
-Changer toutes les options du linker
-Bibliothèques debug/normales/statiques et dynamiques
-Recompiler la SFML avec MinGW
-Mettre à jour MinGW et c::b

Rien de tout ceci ne résous mon problème (j'ai certainement foiré une étape, mais je les aies toutes refaites plusieurs fois...)
Voici la jolie insulte que je reçois par le debugger :
Citation de: Debugger
Child process PID: 1600
At D:\Animak\main.cpp:6
Program received signal SIGSEGV, Segmentation fault.
At c:/mingw/bin/../lib/gcc/mingw32/4.7.2/include/c++/bits/basic_string.h:272

Et voici le code compilé :
#include <SFML/Graphics.hpp>

int main()
{
    std::string("Hello");
    sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
    sf::CircleShape shape(100.f);
    shape.setFillColor(sf::Color::Green);

    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }

        window.clear();
        window.draw(shape);
        window.display();
    }

    return 0;
}
 

Merci d'avance pour votre aide

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Segfault
« Réponse #1 le: Mai 04, 2013, 08:20:24 am »
Assure-toi que ton compilo corresponde parfaitement à l'archive de SFML que tu as téléchargée.
Laurent Gomila - SFML developer

DaKanibal

  • Newbie
  • *
  • Messages: 12
    • Voir le profil
Re : Segfault
« Réponse #2 le: Mai 04, 2013, 02:13:41 pm »
On m'avait dit que mon compilo n'était pas de la bonne version (4.7.2 pour GCC, 4.7 pour SFML), mais je l'ai recompilée avec mon compilo :/

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Segfault
« Réponse #3 le: Mai 04, 2013, 03:37:40 pm »
4.7.2 et 4.7 sont évidemment compatibles en terme de version. Mais il n'y a pas que ça :
- C++11 activé ou non
- gestion des exceptions SJLJ ou DW2
- gestion des threads Win32 ou Posix

S'il y a une seule différence sur l'une de ces choses, ça ne sera pas compatible. Tu peux voir un résumé de toutes ces options avec "gcc -v" (en fouillant un peu dans ce le résultat).

Mais bon, si tu as recompilé... ça devrait le faire. Tu as essayé les versions précompilées quand même ?
Laurent Gomila - SFML developer

DaKanibal

  • Newbie
  • *
  • Messages: 12
    • Voir le profil
Re : Segfault
« Réponse #4 le: Mai 04, 2013, 04:21:51 pm »
Oui j'ai déjà tenté les versions pré-compilées, voici ce que me dit "gcc -v" :

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Segfault
« Réponse #5 le: Mai 04, 2013, 04:43:31 pm »
Donc pour toi il faut le package "GCC 4.7 MinGW (DW2)".
Laurent Gomila - SFML developer

DaKanibal

  • Newbie
  • *
  • Messages: 12
    • Voir le profil
Re : Segfault
« Réponse #6 le: Mai 04, 2013, 04:51:55 pm »
C'est celui que j'ai pris :/
Je sais vraiment pas ce que j'ai fait pour que ça plante là ><

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Segfault
« Réponse #7 le: Mai 04, 2013, 05:00:54 pm »
Est-ce que tu peux utiliser ton debugger, afin d'avoir plus d'infos sur le crash, et notamment la pile d'appels ?
Laurent Gomila - SFML developer

DaKanibal

  • Newbie
  • *
  • Messages: 12
    • Voir le profil
Re : Segfault
« Réponse #8 le: Mai 04, 2013, 05:08:58 pm »
Ce que me dit le debugger :
Citer
Debugger name and version: GNU gdb (GDB) 7.0.50.20100202
Child process PID: 1364
At D:\Animak\main.cpp:6
Program received signal SIGSEGV, Segmentation fault.
At c:/mingw/bin/../lib/gcc/mingw32/4.7.2/include/c++/bits/basic_string.h:272

Pile d'appel :
Citer
#0 660845DA   std::basic_string<unsigned int, std::char_traits<unsigned int>, std::allocator<unsigned int> >::_Alloc_hider::_Alloc_hider(this=0x0, __dat=0x66086010, __a=...) (c:/mingw/bin/../lib/gcc/mingw32/4.7.2/include/c++/bits/basic_string.h:272)
#1 660856B8   std::basic_string<unsigned int, std::char_traits<unsigned int>, std::allocator<unsigned int> >::basic_string(this=0x0) (c:/mingw/bin/../lib/gcc/mingw32/4.7.2/include/c++/bits/basic_string.h:436)
#2 66081996   sf::String::String(this=0x0, ansiString=0x28ff00 "Ä[@uø‹D", locale=...) (C:\Users\User\Desktop\SFML-2.0\src\SFML\System\String.cpp:68)
#3 00401445   main() (D:\Animak\main.cpp:6)

Code :
#include <SFML/Graphics.hpp>

int main()
{
    std::string("Hello");
    sf::RenderWindow window(sf::VideoMode(200, 200), "SFML works!");
    sf::CircleShape shape(100.f);
    shape.setFillColor(sf::Color::Green);

    while (window.isOpen())
    {
        sf::Event event;
        while (window.pollEvent(event))
        {
            if (event.type == sf::Event::Closed)
                window.close();
        }

        window.clear();
        window.draw(shape);
        window.display();
    }

    return 0;
}
 

(plantage dès la ligne 6, lors du deuxième argument de sf::RenderWindow() )

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Segfault
« Réponse #9 le: Mai 04, 2013, 06:08:42 pm »
Bizarre... Là je suis à court d'idées, désolé.
Laurent Gomila - SFML developer

DaKanibal

  • Newbie
  • *
  • Messages: 12
    • Voir le profil
Re : Segfault
« Réponse #10 le: Mai 04, 2013, 06:13:01 pm »
J'ai forcément mal fait quelque chose >.<

Eroy

  • Jr. Member
  • **
  • Messages: 60
    • Voir le profil
    • E-mail
Re : Segfault
« Réponse #11 le: Mai 04, 2013, 07:17:27 pm »
Essaie d'instancier un sf::String déjà voir si ça fonctionne.

DaKanibal

  • Newbie
  • *
  • Messages: 12
    • Voir le profil
Re : Segfault
« Réponse #12 le: Mai 04, 2013, 07:25:04 pm »
Ca plante toujours, comme tout ce qui touche a la sfml :/

Cpl.Bator

  • Hero Member
  • *****
  • Messages: 540
    • Voir le profil
Re : Segfault
« Réponse #13 le: Mai 04, 2013, 10:33:42 pm »
Supprime complètement la SFML , recompile la via les sources.

DaKanibal

  • Newbie
  • *
  • Messages: 12
    • Voir le profil
Re : Segfault
« Réponse #14 le: Mai 04, 2013, 10:39:12 pm »
Déjà fait..