実行可能ファイルであり、両方のライブラリが-rdynamicを使用してビルドされています。
しかし、dlopenを使用すると、実行時エラーが発生します。 "/usr/lib/SharedLibarary1.so:undefined symbol"とマングルされたconst char *を指しているのは、未定義のシンボルです。
Whith GDB "info share"エラーの時点で2番目のライブラリがロードされていないことがわかります。
最初のライブラリで行う前に、2番目のライブラリでdlopenを実行すると、どのように問題が消えますか。
ローダーが未解決シンボルの2番目のライブラリをロードするように強制する良い方法はありますか?
はい。ロードするライブラリを、dlopen()を使用してロードする別のライブラリによってのみリンクされるものに依存させないでください。そのシンボルを持つ通常の方法でロードされた共有オブジェクトを使用します。 途中でRTLD_LAZYヘルプを使用していますか? – CashCow