не экспортируются символы
Дом который построил Джек, блин...
Екзешник слинкован с ДЛЛ1. ДЛЛ1 выставляет наружу класс Base1 (абстрактный).
Этот класс пронаследован и реализован в некоторой ДЛЛ2, которая грузится из ДЛЛ1 методом dlopen. До этого места все работает — ДЛЛ2 загружается и исполняется, свой Base1 находит без проблем.
Далее необходима аналогичная схема: в ДЛЛ2 присутствует класс Base2 (так же абстрактный). Класс динамически пытается грузить ДЛЛ3, в которой есть конкретная реализация Base2. И вот тут лажа: не может найти typeinfo for Base2.
Все библиотеки слинкованы с ключами -Wl,-export-dynamic -shared.
Пробовал dlopen с параметрами RTLD_LAZY и RTLD_GLOBAL — не помогает.... разве что слинковать ДЛЛ3 с ДЛЛ2.
Куда копать? В чем принципиальная разница при подгрузке ДЛЛ2 и ДЛЛ3?