The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Помогите с динамической линквкой"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Помогите с динамической линквкой" 
Сообщение от behemoth emailИскать по авторуВ закладки(ok) on 08-Май-05, 21:06  (MSK)
Только начал вникать в динамическую подгрузку функции и тут вот такое... Ткните носом плз.
Прога состоит из главной части(main) и плагина(libsmb.so), который должен динимически подгружаться.
Вот с плагином проблемы. В плагине использую либу libsmbclient.
Собираю я его так:
g++ -shared -W1,-soname,libsmb.so.0 -o libsmb.so.0.0.1 smb.o

Собирается без проблем, но (вот тут я ещё плохо разобрался) как я понимаю, в полученной библиотеке существуют только ссылки на функции из библиотеки libsmbclient, но не сами функции, т.к. при линковании главной проги сыпится множество ошибок о том, что символ не резолвиться, от этого легко избавиться если при линковании главной проги указать дополнительно -lsmbclient.
Вот у меня и возник вопрос: можно ли так собрать мой плагин libsmb.so что бы в нём были не только ссылки на функции libsmbclient, но и сами функции? Т.е. что бы при сборке главной проги не приходилось использовать -lsmbclient?

     Заранее благодарен.

ЗЫ
Кто-нибудь знет _менее_ документированную либу чем libsmbclient?

  Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Помогите с динамической линквкой" 
Сообщение от DeadMustdie emailИскать по авторуВ закладки(??) on 09-Май-05, 00:46  (MSK)
> Только начал вникать в динамическую подгрузку функции и тут вот такое...
>Ткните носом плз.
> Прога состоит из главной части(main) и плагина(libsmb.so),
>который должен динимически подгружаться.
>
> Вот с плагином проблемы. В плагине использую либу libsmbclient.
> Собираю я его так:
> g++ -shared -W1,-soname,libsmb.so.0 -o libsmb.so.0.0.1 smb.o
>
> Собирается без проблем, но (вот тут я ещё плохо разобрался) как
>я понимаю, в полученной библиотеке существуют только ссылки на функции из
>библиотеки libsmbclient, но не сами функции, т.к. при линковании главной
>проги сыпится множество ошибок о том, что символ не резолвиться, от этого
>легко избавиться если при линковании главной проги указать дополнительно
>-lsmbclient.
> Вот у меня и возник вопрос: можно ли так собрать мой
>плагин libsmb.so что бы в нём были не только ссылки на
>функции libsmbclient, но и сами функции? Т.е. что бы при сборке
>главной проги не приходилось использовать -lsmbclient?

Варианты:
  1) Добавить -lsmbclient в ключи сборки рекомого плагина. libsmbclient.so
тогда будет автоматически грузиться при загрузке libsmb.so, при этом в
главной программе ссылаться на libsmbclient.so не требуется. Может
не получиться на некоторых антикварных ОС с кривыми линкерами.
  2) Добыть *.o, из которых собирается libsmbclient.so, и залинковать
их в свою библиотеку. Жульничество, но работать будет.

>ЗЫ
> Кто-нибудь знет _менее_ документированную либу чем libsmbclient?

ACE. Документация как бы есть, но на наименее (IMHO) интересные
участки.

  Удалить Правка | Высказать мнение | Ответить | Рекомендовать в FAQ | Cообщить модератору | Наверх


Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ]
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру