Siehe den Hinweis für dynamic_cast , throw , typeid funktionieren nicht mit gemeinsam genutzten Bibliotheken
auf der GCC-Seite mit häufig gestellten Fragen.
Weil Sie dlopen() verwenden müssen Sie Ihre ausführbare Datei mit -E verknüpfen Flag (oder pass-Wl,-E zu g++ wenn g++ ruft den Linker auf) und übergibt RTLD_GLOBAL Flag zu dlopen() .