Sun Studio 12 Update 1: C++ ユーザーズガイド

16.8 dlopen を使って C プログラムから C++ ライブラリにアクセスする

C プログラムから dlopen() で C++ 共有ライブラリを開く場合は、共有ライブラリが適切な C++ 実行時ライブラリ (-compat=4 の場合は libC.so.5、-compat=5 の場合は libCrun.so.1) に依存していることを確認してください。

そのためには、共有ライブラリの構築時に、-compat=4 の場合は -lC-compat=5 の場合は -lCrun を次のようにコマンド行に追加します。たとえば、次のようにします。


example% CC -G -compat=4... -lC
example% CC -G -compat=5... -lCrun

共有ライブラリが例外を使用している場合には、ライブラリが C++ 共有ライブラリに依存していないと、C プログラムが正しく動作しないことがあります。