回 帖 发 新 帖 刷新版面

主题:MKL数学库

Linux系统下,Intel Fortran的编译器。想在程序中调用MKL函数库,编译命令如下:

mpif90 -o main.exe example.F90 -L/opt/intel/mkl/10.0.5.025/lib/em64t  -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 -lmkl_lapack -lmkl_intel_lp64  -lmkl_intel_thread  -lmkl_core  -lguide  -lpthread

编译的时候没有错,但在执行的时候总是出这么一句话:
main.exe: error while loading shared libraries: libmkl_lapack.so: cannot open shared object file: No such file or directory
我顺着文件路径查了,在/opt/intel/mkl/10.0.5.025/lib/em64t 目录下分明有libmkl_lapack.so 这个文件,请问高手,这个错误是怎么回事呢

回复列表 (共1个回复)

沙发

.so是共享库,Linux下是先在Known path里搜索共享库的,/opt/intel/mkl/10.0.5.025/lib/em64t显然不是known path,可以考虑把libmkl_lapack.so放进 /usr/bin之类

或者编辑/etc/ld.so.conf,添加一行

/opt/intel/mkl/10.0.5.025/lib/em64t

然后运行 ldconfig
再运行main

不用Linux很久,大概是这样加的。

我来回复

您尚未登录,请登录后再回复。点此登录或注册