は、私が「dlopenする」別の共有ライブラリ(うち、私は著者/所有者ではないです)dlopenされたライブラリはどのように未定義シンボルを解決しますか?
私の共有ライブラリが、そのうち私は著者/所有者ではないです(実行によって「dlopenさ」されていることを共有ライブラリをオーサリング)
階層は:exe dlopenが私のライブラリ、私のライブラリdlopenが別のライブラリです。
私のライブラリdlopensがopensslを利用するライブラリ。しかし、このライブラリの作者は、おそらくライブラリのユーザがいると仮定して、opensslライブラリをリンクしていないように見えます。
したがって、ライブラリをdlopenしようとすると、未定義のシンボルエラーが発生します。
OpenSSLライブラリを自分のライブラリにリンクしても、未定義のシンボルエラーが表示されます。
私の質問は2つです:OpenSSLを必要とライブラリがdlopen'edされている場合
1)、それが唯一のシンボル解決を行うためのexeファイルへの「見た目」に知っているのですか?
2)ライブラリに欠けているかもしれない特別なリンカーフラグがありますか?必要なものはopensslでリンクしていますか?
ありがとうございました。
おそらく、システムは単に 'SSL'ライブラリを見つけることができません。標準的な場所にありますか?あなたは 'SSL'libsに' LD_LIBRARY_PATH'を設定することができます。 – Galik