Динамическая загрузка и разделение символов

Я пытаюсь загрузить библиотеку модулей через dl таким образом, что модуль может получить доступ к глобальным переменным из основного приложения. Как это возможно сделать?

Я получаю сообщение об ошибке от dlopen, говорящее library/name.so: undefined symbol: ..., Единственный используемый флаг: RTLD_NOW,

Сам модуль собран с помощью libtool -module -avoid-version,

1 ответ

Решение

Ответ: использовать -Wl,--export-dynamic при связывании основного двоичного файла, поэтому все символы автоматически экспортируются в загруженные библиотеки.

Тот же вопрос, только что заданный по-другому: при загрузке библиотеки с помощью dlopen появляется ошибка "неопределенный символ"

Другие вопросы по тегам