プロジェクトに静的ライブラリと共有ライブラリの両方を構築したいと思います。
位置独立コードを取得するには、-fpicでコンパイルされたオブジェクトから共有ライブラリを作成する必要がありますが、静的ライブラリではこれは必要ありません。これはすべて問題なく、共有ライブラリまたは静的ライブラリのいずれかを作成できます。
異なるオブジェクトファイルを取得するためにソースを2回コンパイルしたくないので、これは通常どのように行われますか?静的ライブラリに基づいて共有ライブラリを取得する方法を読みました。ただし、この例は、-fpicを使用して構築されている静的ライブラリを示しています。これは行く方法ですか?これで知っておくべきことはありますか?
静的ライブラリと共有ライブラリの両方をコンパイルするための一般的なアプローチはありますか?たとえば、最初に静的で、ライブラリに基づいて共有バージョンが作成されますか?
これにはさまざまなアプローチがあるかどうか、そして選択するときに何を考慮すべきかを知りたいと思います。
Linuxでgcc4.4を使用しています。
前もって感謝します!