Viz poznámka pro dynamic_cast , throw , typeid nepracují se sdílenými knihovnami
na stránce Často kladené otázky GCC.
Protože používáte dlopen() , musíte spustitelný soubor propojit s -E flag (nebo pass-Wl,-E na g++ pokud g++ volá linker) a předejte RTLD_GLOBAL příznak na dlopen() .