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

印刷ビューの終了

更新: 2014 年 12 月
 
 

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

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

そのためには、共有ライブラリの構築時に、-compat=5 の場合は -lCrun をコマンド行に追加します。例:

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

-compat=g-std=c++03 または -std=c++11 オプションを使用する場合は、代わりに g++ サポートライブラリをリンクする必要があります。

example% CC -G -std=c++11 ... -lstdc++ -lgcc_s -lCrunG3

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