Location of the Dynamic OpenMP DLL - libiomp5md.dll

Location of the Dynamic OpenMP DLL - libiomp5md.dll

Imagen de Royi

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.

publicaciones de 9 / 0 nuevos
Último envío
Para obtener más información sobre las optimizaciones del compilador, consulte el aviso sobre la optimización.
Imagen de hubert-haberstock (Intel)

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

Imagen de Royi

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.

Imagen de Tim Prince

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.

Imagen de Sergey Kostrov

>>...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.

Imagen de Royi

Cita:

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?
Imagen de Sergey Kostrov

>>...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.

Imagen de Royi

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.

Imagen de Sergey Kostrov

>>...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?

Inicie sesión para dejar un comentario.