Как сгенерировать файл .so из нескольких исходных файлов

#linux #gcc #makefile #arm #shared-libraries

#linux #gcc #makefile #arm #общие библиотеки

Вопрос:

Последние несколько дней я пытался создать общую библиотеку. У меня также есть файлы заголовков, исходные файлы и файлы asm. Я попытался ответить на ряд похожих вопросов, но мне не удалось найти тот, в котором указаны шаги, необходимые для создания файла .so из нескольких исходных файлов, заголовков и asm. Я столкнулся со многими проблемами при создании файла .so. Если бы кто-нибудь мог помочь мне с пошаговой процедурой создания файла .so, я был бы очень благодарен. Также было бы полезно дать несколько советов по созданию правильного файла make.

Комментарии:

1. Знаете ли вы, как создать библиотеку общих объектов без файлов asm?

Ответ №1:

Допустим, у вас есть 2 программы foo1.c и foo2.c

Шаг 1: создайте файл .o из обоих

      gcc -Wall -fPIC -c foo1.c

     gcc -Wall -fPIC -c foo2.c
  

Шаг 2: создайте .so из приведенных выше объектных файлов

    gcc -shared -o libfoo.so foo1.o foo2.o