質問

私はgoogleprofツールを使用していて、アプリを-lprofilerにリンクしていますが、このプログラムを実行すると: 共有ライブラリのロード中にエラーが発生しました:libprofiler.so.0:共有オブジェクトファイルを開くことができません:そのようなファイルまたはディレクトリはありません

逆に、-ltcmallocでリンクすると、実行時にtcmalloc.soは必要ありません。

プロファイラーの静的ライブラリを既にリンクしていますが、実行時に必要なのはなぜですか?

役に立ちましたか?

解決

静的ライブラリには、共有オブジェクトから実際の関数を動的に呼び出すためのスタブが含まれています。したがって、.soも必要になります。静的ライブラリはあなたの生活を楽にするので、GetProcAddress()やそれがあなたのシステム上にあるものを書く必要はありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top