libintl-8.dll missing ...

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour , j'essaie de compiler les sources de la SFML moi meme ( lorsque j'essaie les releases j'ai un erreur de gxx_personality_v0 .. ) J'ai donc installer cmake pour le faire manuellement. Je ne connais pas cmake , j'y suis donc aller en suivant le petit tutoriel utilisant cmake-gui. Lorsque je clic sur "configure" , un pop-up de as.exe ( dans le dossier codeblocks/bin ) me dit que libintl-8.dll est manquant au programme .. et pourtant il est bien la dans le meme dossier.

1 - comment pourrais-je regler se probleme ? 2 - sinon , quel serait la commande cmake a ecrire afin de generer mon projet pour code::block ?

Merci d'avance !

+0 -0
Staff

Salut,

Ce sera nettement plus facile si tu utilises la ligne de commande. Pour demander à CMake de générer un projet Code::Blocks, c'est la commande suivante cmake -G "CodeBlocks - MinGW Makefiles" .\chemin\vers\sources. Exécute cette commande dans un dossier vide et enlève l'éventuel cache (fichier CMakeCache.txt) créé par ta précédente tentative.

I don't mind that you think slowly, but I do mind that you are publishing faster. – W. Pauli

+0 -0

( lorsque j'essaie les releases j'ai un erreur de gxx_personality_v0 .. )

Zérotisme

Ça, ça vient simplement du fait que tu n'a pas téléchargé la SFML compatible avec la version de tes compilateurs. Regarde ici : ici, tu as plein de versions disponibles.

Pour savoir de quelle version tu as besoin, va dans le dossier codebloks/bin, puis fait maj+clic droit -> "Ouvrir une fenêtre de commande ici" et lance la commande gcc -v. Ca te donnera ta version de gcc.

Image utilisateur

Si tu veux comprendre pourquoi __gxx_personality_v0, en gros c'est une "fonction interne à GCC"(ce n'est pas exactement cela, mais c'est l'idée) qui est liée à la gestion des exceptions (c'est à dire les try, catch, throw…etc …en c++).

GCC à en fait changé trois fois de techniques pour gérer les exceptions au fur et à mesure des versions : SjLj(SetJump LongJump), DW2 (DWARF 2), et SEH (Structured Exceptions Handling).

GCC 4.7 et 4.8 fonctionnent avec SjLj, GCC 4.9 fonctionne avec DW2 (en 32 bits) ou SEH (en 64 bits)

Apparemment, d'après quelques forums( ici ), __gxx_personality_v0 semble être lié à DW2 (?? à confirmer?). Tu as donc soit un compilateur utilisant SjLj, soit un compilateur utilisant SEH

Édité par gusfl

+0 -0
Auteur du sujet

Je savais bien que cette erreur vien d'une difference entre la version gcc qui a été utiliser pour la SFML , mais j'ai tout essayer pour la derniere version de SFML ( 2.3.2 ) , j'ai telecharger plusieurs version de C::B avec des versions differente de gcc ainsi que plusieurs version de la SFML. La seule facon de regler tous les problemes c'est de downgrade a SFML 2.0 … mais avec cette version je ne peut pas utiliser sf::Text .. ca cest une autre histoire.

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte