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

Auteur Sujet: [Résolu] SFML 2.1 + Qt 5.02 : erreur __gxx_personality_v0 libstdc++-6.dll  (Lu 7738 fois)

0 Membres et 1 Invité sur ce sujet

Guillaume21

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Bonjour,

Pour un projet j'utilise Qt 5.0.2 (MinGW 4.7.2) conjointement avec SFML 2.1.
Tout fonctionne bien jusqu'à ce que j'utilise le module Network. En effet, dès que j'utilise une fonctionnalité du module Network, lorsque j'exécute mon programme, j'ai le message d'erreur suivant :
Citer
Le point d'entrée de procédure __gxx_personality_v0 est introuvable dans la bibliothèque de liens dynamiques libstdc++-6.dll.
Il n'y a aucun problème à la compilation. C'est juste lorsque j'exécute mon programme que ça plante...

La DLL libstdc++-6.dll est bien présente dans le dossier de l'exécutable tout comme les DLL de Qt et de SFML (y compris sfml-network-d-2.dll).

Dès que j'enlève tout ce qui vient du module Network le programme se lance normalement. Par exemple, ce code fait planter le programme :
#include "MainWindow.h"
#include <QApplication>

#include <SFML/Network.hpp>

int main(int argc, char *argv[])
{
    sf::Packet packet;

    QApplication a(argc, argv);
    MainWindow w;
    w.show();
   
    return a.exec();
}
 

Alors qu'avec ce code ça fonctionne (il y a juste la ligne sf::Packet packet; en moins) :
#include "MainWindow.h"
#include <QApplication>

#include <SFML/Network.hpp>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();
   
    return a.exec();
}
 


Voici comment je link SFML avec le .pro de Qt Creator :
win32:CONFIG(release, debug|release): LIBS += -LC:/SFML-2.1-mingw/lib/ -lsfml-graphics -lsfml-main -lsfml-system -lsfml-window -lsfml-network
else:win32:CONFIG(debug, debug|release): LIBS += -LC:/SFML-2.1-mingw/lib/ -lsfml-graphics-d -lsfml-main-d -lsfml-system-d -lsfml-window-d -lsfml-network-d

INCLUDEPATH += C:/SFML-2.1-mingw/include
DEPENDPATH += C:/SFML-2.1-mingw/include


Sauriez-vous d'où vient le problème ou bien comment le résoudre ?
Merci.
« Modifié: Août 25, 2013, 06:28:53 pm par Guillaume21 »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : SFML 2.1 + Qt 5.02 : erreur __gxx_personality_v0 libstdc++-6.dll
« Réponse #1 le: Août 25, 2013, 05:06:58 pm »
Tu es sûr que ton compilateur correspond à la version de SFML que tu as téléchargée ?
Laurent Gomila - SFML developer

Guillaume21

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : SFML 2.1 + Qt 5.02 : erreur __gxx_personality_v0 libstdc++-6.dll
« Réponse #2 le: Août 25, 2013, 05:10:44 pm »
Je pense...

J'ai téléchargé la version GCC 4.7 MinGW (DW2) - 32 bits. C'est bien celle qui correspond au MinGW qu'utilise Qt non ?
De plus les autres modules fonctionnent correctement.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : SFML 2.1 + Qt 5.02 : erreur __gxx_personality_v0 libstdc++-6.dll
« Réponse #3 le: Août 25, 2013, 05:12:44 pm »
Citer
J'ai téléchargé la version GCC 4.7 MinGW (DW2) - 32 bits. C'est bien celle qui correspond au MinGW qu'utilise Qt non ?
Aucune idée. Je ne sais pas quelle variante de GCC fournit le SDK de Qt (un gcc -v permet de le savoir).

Citer
De plus les autres modules fonctionnent correctement.
Ah ? Lesquels ?
Laurent Gomila - SFML developer

Guillaume21

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : SFML 2.1 + Qt 5.02 : erreur __gxx_personality_v0 libstdc++-6.dll
« Réponse #4 le: Août 25, 2013, 05:31:06 pm »
Voici ce que donne gcc -v :
C:\Qt\Qt5.0.2\Tools\MinGW\bin>gcc -v
Using built-in specs.
COLLECT_GCC=gcc
Target: i686-w64-mingw32
Configured with: ../../../src/gcc-4.7.2/configure --host=i686-w64-mingw32 --buil
d=i686-w64-mingw32 --target=i686-w64-mingw32 --prefix=/temp/x32-4.7.2-posix-sjlj
-r8/prefix --with-sysroot=/temp/x32-4.7.2-posix-sjlj-r8/prefix --enable-shared -
-enable-static --enable-targets=all --enable-multilib --enable-languages=c,c++,f
ortran,lto --enable-libstdcxx-time=yes --enable-threads=posix --enable-libgomp -
-enable-lto --enable-graphite --enable-cloog-backend=isl --enable-checking=relea
se --enable-fully-dynamic-string --enable-version-specific-runtime-libs --enable
-sjlj-exceptions --disable-ppl-version-check --disable-cloog-version-check --dis
able-libstdcxx-pch --disable-libstdcxx-debug --disable-bootstrap --disable-rpath
 --disable-win32-registry --disable-nls --disable-werror --disable-symvers --wit
h-gnu-as --with-gnu-ld --with-arch-32=i686 --with-arch-64=nocona --with-tune-32=
core2 --with-tune-64=core2 --with-host-libstdcxx='-static -lstdc++' --with-libic
onv --with-system-zlib --with-gmp=/temp/mingw-prereq/i686-w64-mingw32-static --w
ith-mpfr=/temp/mingw-prereq/i686-w64-mingw32-static --with-mpc=/temp/mingw-prere
q/i686-w64-mingw32-static --with-ppl=/temp/mingw-prereq/i686-w64-mingw32-static
--with-cloog=/temp/mingw-prereq/i686-w64-mingw32-static --with-pkgversion='Built
 by MinGW-builds project' --with-bugurl=http://sourceforge.net/projects/mingwbui
lds/ CFLAGS='-O2 -pipe -fomit-frame-pointer -I/temp/x32-4.7.2-posix-sjlj-r8/libs
/include -I/temp/mingw-prereq/x32-zlib/include -I/temp/mingw-prereq/i686-w64-min
gw32-static/include' CXXFLAGS='-O2 -pipe -fomit-frame-pointer -I/temp/x32-4.7.2-
posix-sjlj-r8/libs/include -I/temp/mingw-prereq/x32-zlib/include -I/temp/mingw-p
rereq/i686-w64-mingw32-static/include' CPPFLAGS= LDFLAGS='-pipe -L/temp/x32-4.7.
2-posix-sjlj-r8/libs/lib -L/temp/mingw-prereq/x32-zlib/lib -L/temp/mingw-prereq/
i686-w64-mingw32-static/lib -L/temp/x32-4.7.2-posix-sjlj-r8/prefix/opt/lib'
Thread model: posix
gcc version 4.7.2 (Built by MinGW-builds project)

Bah tous les autres modules fonctionnent : graphics, system, window (je n'ai pas testé audio, je n'en ai pas besoin). C'est seulement quand j'ajoute network que tout plante et que le message d'erreur apparaît.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32504
    • Voir le profil
    • SFML's website
    • E-mail
Re : SFML 2.1 + Qt 5.02 : erreur __gxx_personality_v0 libstdc++-6.dll
« Réponse #5 le: Août 25, 2013, 06:10:15 pm »
On dirait un GCC SJLJ, du coup la version de SFML pour DW2 que tu as téléchargée n'est pas censé fonctionner. Bizarre que les autres modules fonctionnent.

Essaye de recompiler SFML.
Laurent Gomila - SFML developer

Guillaume21

  • Newbie
  • *
  • Messages: 9
    • Voir le profil
Re : SFML 2.1 + Qt 5.02 : erreur __gxx_personality_v0 libstdc++-6.dll
« Réponse #6 le: Août 25, 2013, 06:28:36 pm »
En effet c'était bien ça !

J'ai téléchargé la version SJLJ, j'ai recompilé le projet et ça fonctionne !
Je n'avais pas essayé car je pensais plus à un problème du module network puisque les autres modules fonctionnaient... bizarre.

Merci Laurent !