как собрать .a библиотеки в so
От: Аноним  
Дата: 20.03.06 20:02
Оценка:
Сабж?

Есть модуль, который состоит из нескольких подмодулей.
Каждый из подмодулей собирается в файлик 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...
Пока на собственное сообщение не было ответов, его можно удалить.