Criando bibliotecas C ++ estáticas e compartilhadas

Eu gostaria de construirbibliotecas estáticas e compartilhadas em um projeto.

Eu sei que as bibliotecas compartilhadas precisam ser criadas a partir de objetos compilados com -fpic para obter o código independente da posição, enquanto a biblioteca estática não precisa disso. Tudo bem e posso criar uma biblioteca compartilhada ou estática.

Eu não gostaria de compilar minha fonte duas vezes para obter os diferentes arquivos de objetos, então como isso geralmente é feito? Eu licomo obter uma biblioteca compartilhada com base em uma estática. No entanto, o exemplo mostra a biblioteca estática sendo construída com -fpic. É este o caminho a percorrer? Existem coisas para estar ciente disso?

Tem algumaabordagem comum compilar bibliotecas estáticas e compartilhadas? Por exemplo. primeiro estático e com base na lib, uma versão compartilhada é criada?

Estou interessado em saber se existem abordagens diferentes para isso e o que considerar ao selecionar.

Estou usando o gcc4.4 no Linux.

Desde já, obrigado!

questionAnswers(1)

yourAnswerToTheQuestion