私は2つの静的ライブラリを持っています、
libalgha.a
2つの機能を備えています:func1()
およびfunc2()
と
libbeta.a
2つの機能を備えています:func3()
およびfunc4()
mytest
これらの2つのライブラリにリンクされた1つの実行可能ファイル( )があります。func1()
実行可能ファイルはとのみを呼び出しますfunc3()
。したがって、私が理解しているように、リンカーはこれら2つの関数のシンボルのみを実行可能ファイルに入れます。
dlopen()
実行可能ファイルは実行時に共有ライブラリ( )をロードしており、この共有ライブラリはからlibgamma.so
の関数を使用します。実行すると、次のエラーが発生します。func2()
libalgha.a
mytest
シンボルfunc2:参照されたシンボルが見つかりません
Solaris 32/64ビットの問題のため、libalgha.a
内部に含めることができません。libgamma.so
mytest
では、どうすればのすべてのシンボルとリンクできlibalgha.a
ますか?