Re: как собрать .a библиотеки в so
От: zaufi Земля  
Дата: 21.03.06 21:46
Оценка:
хорошо что у тя все там получилось... но в целом ме не оч понятно очего бы не заюзать autoconf/automake + libtool -- все эти дурацкие проблемы исчезают -- я не представляю себе проекта без этих тулзов в особенности если он (или "... даже если он немного...") сложнее чем Hello World...

... появлябтся другие еси ты не в теме

---

Здравствуйте, Аноним, Вы писали:

А>Сабж?


А>Есть модуль, который состоит из нескольких подмодулей.

А>Каждый из подмодулей собирается в файлик libXXX.a
А>Как это все скрутить в одну so библиотеку?

А>Пока что у меня получается so-шка размером 6кб, которая не содержит ничего из нужных библиотек...

А>Игрался с разными флагами, но нифига не получилось

А>макефиле у меня приблизительно такой:


А>

А>LIB_PARSERS = Lib/libp1.a Lib/libp2.a Lib/libp3.a
А>DLL_PARSERS = libparsers.so

А>all: $(LIB_PARSERS)
А>        g++  -rdynamic -Wl,-export-dynamic -shared -Wl,-soname,Lib/$(DLL_PARSERS) -o Lib/$(DLL_PARSERS) $(LIB_PARSERS)
А>


А>Подмодули собрались нормально (во всяком случае если их линковать к бинарнику, то все ок)

А>Кстати, конструкция "-shared -Wl,-soname,Lib/$(DLL_PARSERS)" почему то не подставляет нужное имя без "-o Lib/$(DLL_PARSERS)"
А>флаг -l<имя> тоже не помогает
А>пробовал "-Wl,-allextract" (вычитал в соляровском мане) — без толку

А>Кстати нужно это уметь собирать под солярой и под линуксом (флаги могут быть различные, так что за универсальностью гнаться не обязательно)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.