Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Royi
Novice
1,527 Views

Location of the Dynamic OpenMP DLL - libiomp5md.dll

Hello,

Following Intel advise we dynmically connected the OpenMP Library.

Hence 'libiomp5md.dll' should be distributed.

The problem is, if I put it in the same directory as the exe, it doesn't work.
Yet if I put 'libiomp5md.dll' in the Path of the OS it does work.

Why is that? Could something be done on compilation so the dll in the directory of the application will be used?

I'm using Windws 7 64 Bit.

Thank You.

0 Kudos
8 Replies
Hubert_H_Intel
Employee
1,527 Views

Upon successful installation of Intel® Studio XE products, the libiomp5md.dll should be in the \Common Files\Intel\Shared Libraries\redist\\compiler redist directory by default from where it is accessible (since included in %PATH%). If you however cannot link libiomp5md.dll check your installation since it may not be correct (run installer again via Control Panel and choose 'Repair') or add the lib path manually to %PATH%. Regards, Hubert
Royi
Novice
1,527 Views

Hi, I'm not talking on computers where Intel@ Studio XE is installed. I'm talking about targets computers. I have a computer where putting 'libiomp5md.dll' in the same folder as the application won't do. It only worked if I put 'libiomp5md.dll' in one of the path folders. I asked if this behavior has something to do with compiling method. I thought that every application automatically adds its running folder into the path (Only for the run time). Thanks.
TimP
Black Belt
1,527 Views

The .dll should be found either in the folder with the .exe which requires it, or on PATH. If you install the redistributable library package, that should include advice about setting PATH.
SergeyKostrov
Valued Contributor II
1,527 Views

>>...It only worked if I put 'libiomp5md.dll' in one of the path folders... >>... The installer of Intel C++ compiler puts 'libiomp5md.dll' in three different folders: . - C:\Program Files\Common Files\Intel\SharedLibraries\Redist\ia32\Compiler - [InstallDir]\Composer XE\Redist\ia32\Compiler - [InstallDir]\Composer XE SP1\Redist\ia32\Compiler . and only first path is set in a 'PATH' environment variable. Could you verify what path is set on your computer? Also, I would try to use MS Depends utility to understand where the problem is.
Royi
Novice
1,527 Views

tcprince wrote:

The .dll should be found either in the folder with the .exe which requires it, or on PATH. If you install the redistributable library package, that should include advice about setting PATH.

Hi, I don't want to put it in any of the system folders. I'm compiling a Plug In, which means it is not an EXE. Should it be in the host folder (The EXE which runs the Plug In) or in the sub folder of the Plug In?

SergeyKostrov
Valued Contributor II
1,527 Views

>>...Should it be in the host folder (The EXE which runs the Plug In) or in the sub folder of the Plug In? . If you have an installer for your Plug In than it can copy the 'libiomp5md.dll' to any folder you want.
Royi
Novice
1,527 Views

The question is where should it be. Could I, at run time, ask for the folder of the Plug In and make the code search for it there? Thanks.
SergeyKostrov
Valued Contributor II
1,527 Views

>>...The question is where should it be. >>Could I, at run time, ask for the folder of the Plug In and make the code search for it there? . I think Yes. The most important thing is when the OS loads some executable ( exe or dll ) all default dependencies must be resolved. Do you have a simple test-case that reproduces your issues / problems?
Reply