Crear bibliotecas C ++ estáticas y compartidas

Me gustaria construirtanto bibliotecas estáticas como compartidas en un proyecto

Sé que las bibliotecas compartidas deben crearse a partir de objetos compilados con -fpic para obtener el código independiente de la posición, mientras que la biblioteca estática no necesita esto. Todo esto está bien y puedo crear una biblioteca compartida o estática.

No me gustaría compilar mi fuente dos veces para obtener los diferentes archivos de objeto, entonces, ¿cómo se hace esto generalmente? Yo leocómo obtener una biblioteca compartida basada en una estática. Sin embargo, el ejemplo muestra la biblioteca estática que se está construyendo con -fpic. ¿Es este el camino a seguir? ¿Hay cosas a tener en cuenta con esto?

Hay unenfoque común para compilar bibliotecas estáticas y compartidas? P.ej. primero estático y basado en la lib se crea una versión compartida?

Estoy interesado en saber si hay diferentes enfoques para esto y qué considerar al seleccionar.

Estoy usando gcc4.4 en Linux.

¡Gracias por adelantado!

Respuestas a la pregunta(1)

Su respuesta a la pregunta