Сабж?
Есть модуль, который состоит из нескольких подмодулей.
Каждый из подмодулей собирается в файлик 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" (вычитал в соляровском мане) — без толку
Кстати нужно это уметь собирать под солярой и под линуксом (флаги могут быть различные, так что за универсальностью гнаться не обязательно)