Создание как статических, так и общих Библиотеки C ++

I ' Мне бы хотелось собрать в проекте как статические, так и разделяемые библиотеки .

Я знаю, что разделяемые библиотеки необходимо создавать из объектов, скомпилированных с помощью -fpic, чтобы получить независимый от позиции код, в то время как статическая библиотека не нужно это. Все в порядке, и я могу создать либо общую, либо статическую библиотеку.

Я бы не хотел дважды компилировать свой исходный код, чтобы получить разные объектные файлы, так как это обычно делается? Я читал , как получить разделяемую библиотеку на основе статической . Однако в примере показано, что статическая библиотека создается с помощью -fpic. Это путь? Что нужно знать об этом?

Существует ли общий подход к компиляции как статических, так и разделяемых библиотек? Например, первая статическая и на основе библиотеки создается общая версия?

I ' Мне интересно узнать, есть ли для этого разные подходы и что следует учитывать при выборе.

Я использую gcc4.4 в Linux.

Заранее спасибо!

7
задан Community 23 May 2017 в 11:59
поделиться