我正在构建一个使用英特尔IPP库的 C++ 应用程序。该库默认安装在 /opt 中,需要您设置LD_LIBRARY_PATH
编译和运行软件(如果您选择共享库链接,我这样做了)。我已经修改了我的configure.ac
/Makefile.am
以便在编译时不需要设置该变量,但是在运行时我仍然找不到共享库;我怎么做?
我正在使用-Wl, -R/path/to/libdir
标志编译g++
更新 1:实际上我的二进制程序有一些正确链接的 IPP 库,但只有一个不是:
$ 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