からランタイム未解決のシンボルを持ってここに私の状況は、私は共有ライブラリ(PIC)を持っている動的にロードされたPIC共有ライブラリがNPIC依存
だfoo.so. bar.aのシンボルを使用します。 bar.aはNPICです。したがって、foo.soのリンク行に追加することはできません。
foo.soはmain.Cから動的にロードされます bar.aのシンボルが使用されているときに実行時に正常にロードされますが、未解決のシンボルで終了します。
2ソリューション私は 1.コンパイルbar.a PICを提案し、foo.so 2.のリンク行に追加されました - メインの「-Wl、全アーカイブbar.a -rdynamic」 .C link line
bar.aはサードパーティのライブラリであるため、1は使用できません。 私たちのシンボルを輸出したくないので、2はできません。
この問題を回避する他のイディオム/ソリューションはありますか?
私は右:foo.soとリンクしていないので、dlopenなどで使用するだけですか? –