本帖最后由 joezhr 于 2021-8-5 11:07 编辑
各位前辈好,最近在Linux下用ifort编译多个.f90文件,由于代码中用到了openmp和mkl的函数,我参考了Inter Fortran Compiler Help中的内容,在编译时分别采用了如下的命令:
[Fortran] 纯文本查看 复制代码 ifort -qopenmp -o test file1.f90 file2.f90 ... filen.f90
报错内容是:
xxx.f90:对'mkl_get_max_threads'未定义的引用
xxx.f90:对'pardiso_'未定义的引用
发现是忘记了包含mkl库头文件,于是在命令中加上了-mkl,即
[Fortran] 纯文本查看 复制代码 ifort -qopenmp -mkl -o test file1.f90 file2.f90 ... filen.f90
又出现了新的报错:
ld:找不到 -lmkl_intel_lp64
ld:找不到 -lmkl_intel_thread
ld:找不到 -lmkl_intel_core
我搜索了一下,这里好像是缺少动态库,请问这些动态库是在mkl里本身存在的吗?是否是没有包含进来呢?
|