実行ファイルをld
にリンクすると、実行可能ファイルが依存するライブラリのリストが表示されます。これはこれらのライブラリの位置情報の唯一のソースですか、またはオブジェクトファイルにメタデータとして保存されている依存ライブラリの優先バージョンに関する情報ですか?ELFオブジェクトファイルは、依存ライブラリのファイルシステムパスを格納しますか?
特定の問題はこれです:私は両方とも第三ライブラリlC
に依存2つの依存ライブラリlA
とlB
を、リンク、およびIは、リンク行にこれらのライブラリへの参照を配置する場合。 lA
のC++クラスメソッドはlB
のクラスメソッドとは異なるバージョンのlC
を呼び出しているようです。これはどのように可能ですか?私はgdb
のバックトレースを見ることでこれを知っています。
を、あなたが説明した内容*できない*ことがあります。したがって、あなたの説明が間違っているか、または観察結果の解釈が間違っています。残念ながら、実験を再現するのに十分詳細に記述していないため、これ以上のヘルプは提供できません。あなたの質問を編集し、最小限の例を示し、すべてが公開されます。 –