Кусайте статический динамическую библиотеку

Цель: 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 так не в состоянии реализовать статические динамическую библиотеку внутри Кусая
 

рекомендация

отblog.csdn.net/qq_16810885/article/details/94036214