Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

MKL_RT.DLL is missing from your computer

philippe_d_
Beginner
5,373 Views

I configured my software with cmake on windows 7 with the MKL library.

The code compiles and links OK, but when trying to execute I get the above message. I do link with MKL_RT.LIB in cmake and there

is no file MKL_RT.DLL on my computer.

Was this file missing during installing MKL?

0 Kudos
1 Solution
mecej4
Honored Contributor III
5,373 Views

The MKL DLLs are in <installation root directory>\compilers_and_libraries_<version_no>\windows\redist\<arch>\mkl. For example, one installation has the following directory with these DLLs:

     c:\LANG\PS2018\compilers_and_libraries_2018.1.156\windows\redist\ia32\mkl

Make sure that this directory is in your execution path.

View solution in original post

0 Kudos
5 Replies
mecej4
Honored Contributor III
5,374 Views

The MKL DLLs are in <installation root directory>\compilers_and_libraries_<version_no>\windows\redist\<arch>\mkl. For example, one installation has the following directory with these DLLs:

     c:\LANG\PS2018\compilers_and_libraries_2018.1.156\windows\redist\ia32\mkl

Make sure that this directory is in your execution path.

0 Kudos
philippe_d_
Beginner
5,373 Views

Thank you for your reply.

In the directory you name there exists a file named : mkl_rt.lib

But there is no file mkl_rt.dll, which is the file my program wants to access upon launch.

The directory where the libraries of MKL are located is in the execution path.

 

0 Kudos
mecej4
Honored Contributor III
5,373 Views

The LIB files are not distributable, and should not exist in a ...\redist\... subdirectory. Something is wrong with your installation.

0 Kudos
philippe_d_
Beginner
5,373 Views

Thanks again. I managed to run the program by putting the ...\redist\ directory in my execution path.

In a sense the Intel manual is not precise. The ..\redist\ directory should be in the execution path. I believe to have read that the ..\lib\... directory should be in the execution path. Probably both directories need to be in the execution path?

0 Kudos
mecej4
Honored Contributor III
5,373 Views

Static libraries (extension .LIB) are not executable. so their directory should not be in PATH. Intel compiler packages put dynamic and static libraries into different subdirectories. The LIB environment variable is used by the linker to find static libraries. Dynamic libraries, on the other hand, are found using PATH.

In contrast to that, if you have IMSL, you will find both static and dynamic IMSL libraries in its LIB directory.

0 Kudos
Reply