Voir la note pour dynamic_cast , throw , typeid ne fonctionne pas avec les bibliothèques partagées
sur la page Foire aux questions de GCC.
Parce que vous utilisez dlopen() , vous devez lier votre exécutable avec le -E flag (ou passez-Wl,-E en g++ si g++ appelle l'éditeur de liens) et transmettez le RTLD_GLOBAL drapeau à dlopen() .