サードパーティの静的ライブラリの関数を使用する共有ライブラリを作成したいと考えています。たとえばfoo、barからlibfoobar.a. 私のメインアプリケーションもfooそのシンボルを使用しており、エクスポートすることを知っています。barしたがって、リンクしてコードサイズを節約し、「foo」を未解決のままにしたいだけです(メインアプリケーションによって提供されるため)。を含めるlibfoobar.aと、リンカーldは共有ライブラリに両方の関数を含めます。を含めないと、アプリケーション自体が にリンクしていないためlibfoobar.a、ライブラリは関数にアクセスできません。質問:barbar
- 共有ライブラリを構築するときに特定のシンボルのみを解決するようにldに指示する方法はありますか?
- 共有
libfoobar.aライブラリに変わりますか? barから関数を含むファイルを抽出libfoobar.aし、リンカー行でそれを指定しますか?- 心配する必要はありません。ランタイム ローダーは
barアプリケーションから使用するため、共有ライブラリ内の のコピーはbar読み込まれませんか?