Un truc c'est que en C++, une bibliothèque compilée avec un compilo n'est pas nécessairement compatible avec un programme compilé avec un autre compilo.
La norme C++ ne spécifie pas d'ABI standard.
Or ici j'imagine que Qt à été compiler avec gcc et pas avec clang. ce peut être la raison pour laquelle la liaison des lien échoue si le mangling des noms de GCC n'est pas le même que celui de clang.
Le mangling c'est ce qui transforme le nom d'une fonction en C++ (Foo::Bar(int)) en un nom de symbole (_Z3Foo3BarEi avec gcc)
Si c'est pas les même, forcément le linkeur ne trouvera pas.
(Maintenant ce que je dis est juste une supposition.)
[^] # Re: Pourquoi serait-ce un bug dans Qt ?
Posté par Gof (site web personnel) . En réponse au journal Clang arrive avec le C++, et ça va faire mal. Évalué à 10.
La norme C++ ne spécifie pas d'ABI standard.
Or ici j'imagine que Qt à été compiler avec gcc et pas avec clang. ce peut être la raison pour laquelle la liaison des lien échoue si le mangling des noms de GCC n'est pas le même que celui de clang.
Le mangling c'est ce qui transforme le nom d'une fonction en C++ (Foo::Bar(int)) en un nom de symbole (_Z3Foo3BarEi avec gcc)
Si c'est pas les même, forcément le linkeur ne trouvera pas.
(Maintenant ce que je dis est juste une supposition.)