Цель: libimp.a libalog.a с исходным кодом и бизнес упакованы в libaudioplug.so зайти внутрь.
Резюме: libimp.a libalog.a файл для того, чтобы быть упакованы в ibaudioplug.so идти внутрь, вы должны скомпилировать исходный код и компилировать бизнес libimp.a libalog.a время, когда все
Используйте -fPIC, троим вместе взятых.
Для достижения по использованию динамических библиотек libimp.so libalog.so, будет иметь возможность подключиться, чтобы уйти, во время выполнения, вы должны libaudioplug.so libimp.so libalog.so три библиотеки.
-------------------------------------------------- за экспериментом ------------------------------ ---------------- -------------------------------------------
1)
JZ_STATIC_LIBS: = $ ( JZ_SDK_PATH) /lib/uclibc/libimp.a $ (JZ_SDK_PATH) /lib/uclibc/libalog.a
Lib: $ (PLUG_SRC)
MIPS-ГНУ-Linux-uclibc-G ++ -fPIC -shared $ ^ $ (JZ_STATIC_LIBS) $ (INC_PATH ) -о libaudioplug.so
ошибка:
/home/yp/toolchains/T20_toolchain/mips-gcc472-glibc216-32bit/bin/../lib/gcc/mips-linux-gnu/4.7.2/../../../../mips- Linux-ГНУ / бен / LD: ./jz_lib/MergeBaseMove.co:
перемещение R_MIPS_HI16 против `локального символа» не может быть использована при создании разделяемого объекта; перекомпилировать с -fpic
./jz_lib/MergeBaseMove.co: Ошибка добавления символов: Bad значения
collect2: ошибка: л.д. возвращается 1 выход статус
Makefile: 32: рецепт для цели 'Lib' отказавшего
марка: *** [Lib] Ошибка 1
2) ,
то я буду использовать ар соединены в статическую библиотеку .o файлов, попробуйте еще раз
JZ_LIB_OBJ: = ./jz_lib/*.o
JZ_STATIC_LIBS: = $ (JZ_SDK_PATH) /lib/uclibc/libimp.a $ (JZ_SDK_PATH) / Библиотека / uclibc / libalog.a
Lib: $ (PLUG_SRC)
MIPS-ГНУ-Linux-uclibc-G ++ -fPIC -shared $ ^ $ (JZ_LIB_OBJ) $ (INC_PATH) -о libaudioplug.so
сообщили ту же ошибку.
3)
Я пробовал
LIB: $ (PLUG_SRC)
MIPS-ГНУ-Linux-uclibc-G ++ -fPIC -shared $ (JZ_LIB_OBJ) $ ^ $ (INC_PATH) -о libaudioplug.so
же неточностей.
4)
Я также пробовал
LIB: $ (PLUG_SRC)
MIPS-ГНУ-Linux-uclibc-G ++ -fPIC -shared $ (JZ_STATIC_LIBS) $ ^ $ (INC_PATH) -o libaudioplug.so
скомпилирован, а затем я получил начать использовать этот DLL, результаты просто вызвать эту функцию на JZ_STATIC_LIBS ошибок.
5)
Я пошел и попробовал это, я не добавляю эту статическую библиотеку, также скомпилированные ранее. Запуск ошибки программы или сегмента
LIB: $ (PLUG_SRC)
MIPS-ГНУ-Linux-uclibc-G ++ -fPIC -shared $ ^ $ (INC_PATH) -о libaudioplug.so
6)
Я , и они попробовали это, я не добавляю это статическая библиотека, при использовании, будет добавить статическую библиотеку, компилируется и взяла другие. Запуск программы или другие и ошибок.
Lib: $ (PLUG_SRC)
MIPS-ГНУ-Linux-uclibc-G ++ -fPIC -shared $ ^ $ (INC_PATH) -о libaudioplug.so
7) , и я попробовал его , и они будут заменены оригинальной статической библиотеки использования DLL компилируется тестовая программа испытала. Полный.
Lib: $ (PLUG_SRC)
MIPS-линукс-uclibc-gnu- г ++ -fPIC -shared $ ^ -limp -lalog $ (LIB_PATH) $ (INC_PATH) -о libaudioplug.so
кажется его мать , чтобы получить динамическую библиотеку статической библиотеки, то трудно ах.
Краткое описание: Это последовательность компиляции есть проблемы, есть проблема опции компилятора.
Порядок проблемы компиляции тогда, я не хочу , чтобы исследовать, на самом деле, звонки между статической библиотекой является последовательной проблемой.
Проблема вариант Компилятор -fPIC, этот параметр должен быть сгенерирован , когда должны быть добавлены все .o, так что вы можете поместить статический к динамической библиотеке Кусая.
Поскольку король не использует библиотеку -fPIC так не в состоянии реализовать статические динамическую библиотеку внутри Кусая