LINUX.ORG.RU

проблема с динамической загрузкой shared object


0

0

Есть такая ситуация: некая программа A линкуется во время компиляции с некой библиотекой B.so, которая, в свою очередь, должна во время выполнения, используя dlopen, загрузить некую библиотеку C.so, которая слинкована во время компиляции с библиотекой D.so.

Так вот, вызов dlopen проходит не успешно с сообщением "C.so: undefined symbol: xxx". Символ xxx определён в библиотеке D.so.

Проблема решается линковкой билиотеки D.so во время компиляции к исполняемому модулю A. Хотелось бы, чтобы символы из D.so автоматически разрешались бы при вызове dlopen("C.so"). Как это можно сделать?

Библиотека D.so является сторонней, остальные собираются из исходников.

>C.so, которая слинкована во время компиляции с библиотекой D.so.

или это утверждение неверно или надо подобрать ключи для dlopen()

хотя на 100% неуверен

cvv ★★★★★
()
Ответ на: комментарий от cvv

RTLD_LAZY при вызове dlopen должен помочь.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.