I am trying to compile a library that uses blas and lapack. I am able to compile the library but I am getting the following run time error
"The procedure entry point mkl_serv_inspector_loaded could not be located in the dynamic link library C:\path\lmdemo.exe"
where lmdemo,exe is an executable for testing the library. I am using MS Visual Studio 2013 on Windows 10. The mkl library is the latest 2020 version. Has anyone seen this error? How can I fix it?
you have to update your system variables by adding the path to the mkl libraries. You may do this by existing scripts ( see <mklroot>\bin\mklvars.bat ) or adding manually all dll into those directories where this exe file is located ( some kind of brute-force ).
Thank you for the suggestions! I had run mklvars.bat before but it didn't help. I think it is because I have different versions of the MKL library installed on my computer: some as part of CUDA and Anaconda and another one as part of the IMSL library. Copying the DLLs to the local fodler solved the issue in Debug mode. However in Release mode I started getting "The ordinal 242 could not be located in the dynamic link library mkl_intel_thread.dll. This dll (mkl_intel_thread.dll) is in the local folder with all the rest. Is there anything else I can try?
as you said that copying the DLLs to the local folder solved the problem, therefore the problem with the VS studio settings. You have to check the paths where the VS is looking for the dll.
You may try to take one of the existing examples from mkl package and build it from the command line statically and dynamically and learn how it will work. Please check the mklroot\examples folder and you will see there many BLAS\LAPACK\FFT\Solvers examples.