Intel のIPPライブラリを使用する C++ アプリケーションを構築しています。このライブラリはデフォルトで /opt にインストールされ、ソフトウェアのコンパイルと実行の両方を設定する必要がありますLD_LIBRARY_PATH
(共有ライブラリ リンクを選択した場合は、私が実行しました)。コンパイル時にその変数を設定する必要がないようにconfigure.ac
/を既に変更しましたが、実行時に共有ライブラリを見つけることができません。Makefile.am
それ、どうやったら出来るの?
-Wl, -R/path/to/libdir
フラグを使用してコンパイルしていますg++
更新 1 : 実際、私のバイナリ プログラムにはいくつかの IPP ライブラリが正しくリンクされていますが、1 つだけではありません。
$ ldd myprogram
linux-vdso.so.1 => (0x00007fffa93ff000)
libippacem64t.so.6.0 => /opt/intel/ipp/6.0.2.076/em64t/sharedlib/libippacem64t.so.6.0 (0x00007f22c2fa3000)
libippsem64t.so.6.0 => /opt/intel/ipp/6.0.2.076/em64t/sharedlib/libippsem64t.so.6.0 (0x00007f22c2d20000)
libippcoreem64t.so.6.0 => /opt/intel/ipp/6.0.2.076/em64t/sharedlib/libippcoreem64t.so.6.0 (0x00007f22c2c14000)
[...]
libiomp5.so => not found
libiomp5.so => not found
libiomp5.so => not found
もちろん、ライブラリはそこにあります:
$ locate libiomp5.so
/opt/intel/ipp/6.0.2.076/em64t/sharedlib/libiomp5.so