Compilation

undefined reference to " __gxx_personality_v0"

Le problème exposé dans ce sujet a été résolu.

Bonjour ! Alors , j'ai téléchargé le moteur Nazara afin de tester et puis apres avoir regler quelques problemes d'includes dans son moteur j'en arrive a un probleme d'undefined reference to "__gxx_personality_v0". Pour avoir lu quelque sujets sur des forums on conseil de mettre mingw a jour .. ce que j'ai fait ( reinstallation de code::blocks + telechargement de la derniere version de mingw ). Toujours la meme erreur ..

edit :: version de code::blocks = 16.01 compilo = GCC 4.9

Merci pour vos réponse ca fait plus d'une heure de bute sur ce probleme.

+0 -0

Salut,

Pour que ça marche, il faut que tu ais exactement la même version du compilateur qui a été utilisé pour compiler les dlls de Nazara. Si ce n'est pas le cas (ou que tu n'en es pas sûr(e)), il faut recompiler Nazara toi-même.

victorlevasseur

Ça me parait grandement étonnant. Si il fallait que toutes les DLL que l'on utilise soient compilées par le même compilateur, on aurait du mal à distribuer quoique ce soit pour un utilisateur lambda…

Ça sent plus le problème d'include manquant, qui fait que le linker n'arrive pas à trouver la ou les dll contenant __gxx_personality_v0. Mais là, difficile de t'aider sans plus d'infos sur ton environnement et les instructions d'édition de liens que tu utilises…

+0 -0

Ça me parait grandement étonnant. Si il fallait que toutes les DLL que l'on utilise soient compilées par le même compilateur, on aurait du mal à distribuer quoique ce soit pour un utilisateur lambda…

C'est pourtant le cas en C++ (pas le même ABI suivant les compilateurs et leurs versions également) mais pas en C (c'est pour cela que l'on peut facilement utiliser des bibliothèques C ou systèmes avec n'importe quel compilateur). Et je ne vois pas le rapport avec la redistribution d'un programme.

+0 -0

Et je ne vois pas le rapport avec la redistribution d'un programme.

Vraiment ? o_O Imagine qu'il soit impossible (ou plutôt complètement inutile) de distribuer des objets précompilés parce qu'inutilisables par d'autres programmes et incapables d'utiliser les DLL déjà présentes sur le système. Installer le moindre truc (dont un compilateur d'ailleurs) deviendrait une galère incroyable. Tu le dis toi-même:

C'est d'ailleurs chiant quand tu dois te taper la compilation de quelque chose de complexe comme gtkmm sous Windows…

+0 -0

Un exemple avec Qt : http://download.qt.io/development_releases/qt/5.6/5.6.0-rc/. Ils doivent fournir les versions MSVC 2015 et 2013 (avant, il y avait aussi 2012 et 2010), en version 32 et 64. Avant, il y avait aussi les versions OpenGL et DirectX.

Autre exemple avec gtkmm : https://wiki.gnome.org/Projects/gtkmm/MSWindows, qui est fournit uniquement pour MingW (donc non compatible MSVC).

Et non, ce n'est pas un truc impossible. Juste une contrainte a prendre en compte quand on utilise ou fournit une lib C++. (Ou alors on utilise une API C, ou alors on build soit même)

+0 -0

L'histoire de retro-compatibilité semble probable etant donné que lynix n'utilisais pas ( pour sa video de demo avec compilation code::block ) la "version" officiel de code::block mais une nightlies qui si je comprend bien est un code::block avec des "settings" différents selon le build … Par contre , j'ai bien pris le build nightlies de CB que lynix utilise dans sa video ( celle du 19 fevrier 2015 je crois ) ainsi que la version mingw. Il met les deux liens en telechargement sous sa video et pourtant rien a faire.

J'ai donc tester avec la version "officielle" de code::block , le nightlies a lynix , le nightlies le plus recent ainsi que plusieurs version de GCC/mingw.

Comme erreur j'ai pu avoir un panopli d'errors concernant la gestion d'erreur SJLJ ou quelque chose dans ce genre .. j'ai donc pris une version SJLJ qui me rapporte a chaque fois a la premiere erreure ( __gxx_personality_v0 ).

J'ai lynix en MP qui tente de trouver le probleme avec moi et il viens de me dire qu'il avais preparer un build de son moteur different pour code:block qui devrait deja regler quelques problemes en esperant que ca regle le mien.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

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