Создание общей библиотеки от существующих объектных файлов

У меня есть проект в моем IDE. Я должен сделать общую библиотеку из него для использования в расширениях. Я не хочу делать копию этого проекта с настройками общей библиотеки. Там какой-либо путь состоит в том, чтобы создать общую библиотеку с помощью объектных файлов (.o) из моего уже существующего проекта? Как я понимаю, я могу записать make-файл для этого.

8
задан Étienne Reinstate Monica 27 March 2013 в 21:11
поделиться

2 ответа

Я предполагаю, что вы работаете в какой-то Unix и, вероятно, используете набор инструментов GNU. В этом случае, чтобы создать подходящую разделяемую библиотеку, вам нужно будет скомпилировать свой код, используя независимые от позиции флаги кода (-fpic или -fPIC), прежде чем вы сможете создать общую библиотеку. Если ваши файлы .o уже не скомпилированы с этими флагами, скорее всего, вы не получите работающую общую библиотеку.

Если они уже скомпилированы для позиционно-независимого кода, обычный g ++ -shared ... должен помочь.

13
ответ дан 5 December 2019 в 08:22
поделиться

g ++ -shared -fPIC -o myshared.so * .o

7
ответ дан 5 December 2019 в 08:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: