Shared Objects aka Динамические Библиотеки

Тема в разделе "WASM.UNIX", создана пользователем Sadhu, 14 сен 2009.

  1. Sadhu

    Sadhu New Member

    Публикаций:
    0
    Регистрация:
    28 сен 2008
    Сообщения:
    1
    Я новичок в *nix програминге но решил все таки написать
    сюда.
    Есть враппер для open office написанный на с++. Работает на ура
    при сборке с ключом -rpath и указанием папки в которой храняться
    необходимые библиотеки.
    Хотелось бы :
    чтобы путь к данной папке можно было указывать во время выпол
    нения.


    Изменение переменных окружения в том числе LD_LIBRARY_PATH
    не дает желаемого результата так как судя по всему либы подгружаются до
    вызова функии main() либо _init() , так же как и загрузка библиотеки с помощью
    dlopen()

    Утилитка ldd с ключом -r говорит что все символы из используемой либы не обьявлены
    (ет без ключа линкера -rpath ) но все успешно компилируется.

    Внимание вопрос :)
    Есть ли способ сообщить системе что неопознаные символы стоит искать
    в загруженной библиотеке? Ну или на худой конец как можно решить эту проблемму
    используя sdk оффиса ;)

    P.S. Так же буду рад любым постам на тему динамических библиотек в *nix и
    полезным ссылкам по этой теме.
     
  2. Charlie

    Charlie New Member

    Публикаций:
    0
    Регистрация:
    13 сен 2009
    Сообщения:
    4
    вы не забываете про ldconfig после изменения LD_LIBRARY_PATH?
     
  3. xlinuks

    xlinuks New Member

    Публикаций:
    0
    Регистрация:
    25 май 2006
    Сообщения:
    181
    Наверное самая полезная ссылка по этой теме может быть "how to write shared libraries" от Red Hat:
    people.redhat.com/drepper/dsohowto.pdf