Oracle Solaris Studio 12.2: C++ ユーザーズガイド

15.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 プログラムが正しく動作しないことがあります。