hidden text to trigger early load of fonts ПродукцияПродукцияПродукцияПродукция Các sản phẩmCác sản phẩmCác sản phẩmCác sản phẩm المنتجاتالمنتجاتالمنتجاتالمنتجات מוצריםמוצריםמוצריםמוצרים
Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28988 ディスカッション

Configure exe to avoid missing dll

sanjayg0
初心者
1,151件の閲覧回数

System: Window 10 Pro, Visual Studio Community 2022 (17.10.0), oneAPI ifx 2024.1.0

I just moved my set up to the VS 2022 and re-installed oneAPI form the VS marketplace.  When I build my code within VS, I can run it just fine with the "Start" button. 

If I want to run it from the command prompt, I get errors regarding missing DLL (libmmd.dll).  I can get rid of this error, if I first run setvar.bat from the oneAPI install directory.

I would like to be able to also click on the exe in the file explorer.  However when I do that I get the error about the missing DLL (libmmd.dll).  Is there a convenient way to avoid this?  somehow force a similar action to running setvar.bat?

With previous versions of VS and older versions of the Intel compiler I never had this issue.

0 件の賞賛
1 解決策
Steve_Lionel
名誉コントリビューター III
1,114件の閲覧回数

If the oneAPI install went correctly, it should have added the folder containing the DLL to the system PATH environment variable. I know that the 2024.0 version did not (the folders changed in that release and the installer didn't account for that.) I thought that 2024.1 fixed it, though.

The first thing I suggest is to reboot - sometimes I have found that PATH changes didn't get applied until a reboot (or log out and in). 

You can examine the value of the PATH variable - it should contain:

C:\Program Files (x86)\Intel\oneAPI\compiler\latest\bin
C:\Program Files (x86)\Intel\oneAPI\compiler\latest\bin32

Do make sure that it's not actually asking for libmmdd.dll, the debug version, which is available only from within a build environment.

 

元の投稿で解決策を見る

9 返答(返信)
Steve_Lionel
名誉コントリビューター III
1,115件の閲覧回数

If the oneAPI install went correctly, it should have added the folder containing the DLL to the system PATH environment variable. I know that the 2024.0 version did not (the folders changed in that release and the installer didn't account for that.) I thought that 2024.1 fixed it, though.

The first thing I suggest is to reboot - sometimes I have found that PATH changes didn't get applied until a reboot (or log out and in). 

You can examine the value of the PATH variable - it should contain:

C:\Program Files (x86)\Intel\oneAPI\compiler\latest\bin
C:\Program Files (x86)\Intel\oneAPI\compiler\latest\bin32

Do make sure that it's not actually asking for libmmdd.dll, the debug version, which is available only from within a build environment.

 

sanjayg0
初心者
1,014件の閲覧回数

Thanks.  I went into the system settings and added the two directories to PATH.  This solves the issue for all cases.

H-UD
ビギナー
199件の閲覧回数

I have a similar problem. I have a new computer with WINDOWS 11. I installed Visual Studio 2022 and INTEL oneAPI Fortran completely new.

The PATH shown in the BuildLog includes:

;C:\Program Files (x86)\Intel\oneAPI\compiler\2025.0\bin;C:\Program Files (x86)\Intel\oneAPI\compiler\2025.0\bin

however twice. (by the way C:\Program Files (x86)\Intel\oneAPI\compiler\latest\bin is just a link on the \2025.0)

A file C:\Program Files (x86)\Intel\oneAPI\compiler\latest\bin32 or C:\Program Files (x86)\Intel\oneAPI\compiler\2025.0\bin32 has not been installed on my computer.

Although the above path on my computer includes the files libmmd.dll, svml_dispmd.dll and libifcoremd.dll (and no error message appears upon building the .exe file) when I start the .exe file by clicking on the entry in the explorer there appears the error message that the three above dlls cant' be found!

I also tried to include a path to the three dlls explicitly in the project properties for the Linker: General: Additional Library Directories to no avail.

I also tried (following sanjayg0) to first run setvars.bat. However the error message is just reduced to libifcoremd.dll not found. Same happens for Debug and Release versions of .exe file. Only if I run the debug version from the Visual Studio the program is executed.

Last notice:  I ran the installation program for the INTEL oneAPI Fortran twice  in "repair" mode. No change. I rebooted the computer repeatedly.

sanjayg0
初心者
159件の閲覧回数

This problem has reappeared for me too.  I updated my compiler to 2025.0 and the problem with missing DLLs has reappeared.  My executables work fine within VS but not from the command-line or the FileExplorer.    I note that in the distribution folder 

C:\Program Files (x86)\Intel\oneAPI\compiler\2025.0

that the DLLs which I need are not present (in my case libifcoremd.dll).  They do exist under my 2024.1 folder (and nowhere else in the c:\Program Files (x86) folder).

 

I will also note that the error also occurs if I try to run the EXE from the Intel oneAPI command window (found under the start menu).

sanjayg0
初心者
155件の閲覧回数

I have found an apparent fix.  I downloaded and installed the fortran runtime libraries (w_ifort_runtime_p_2025.0.0.1166).  Rebooted and my executables now work outside of VS via the command line and by clicking with the FileExplorer.

H-UD
ビギナー
144件の閲覧回数

I don't know how to download and install the fortran runtime libraries (w_ifort_runtime_p_2025.0.0.1166).

H-UD
ビギナー
86件の閲覧回数

I managed to download and install the fortran runtime libraries.

This solved the problem even without reboot.

Thank you!

H-UD
ビギナー
149件の閲覧回数

My problem is that libifcoremd.dll is in the PATH of the compiler/ linker and in the path

C:\Program Files (x86)\Intel\oneAPI\compiler\2025.0\bin

but is not found upon execution of the .exe file.

sanjayg0
初心者
144件の閲覧回数

Maybe it is still worth a try to install the runtime environment.  Even after I installed the runtime environment the DLLs did not appear in the 2025.0 folder.  The location the executable wants is apparently elsewhere and the runtime installation either grabs the correct path and or places the files there too.

 

For the record, here is my path now:

>set path
Path=C:\Program Files (x86)\Common Files\Intel\Shared Libraries\bin32;C:\Program Files (x86)\Common Files\Intel\Shared Libraries\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files\MiKTeX 2.9\miktex\bin\x64\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files\Git\cmd;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit\;C:\Program Files\dotnet\;c:\Program Files (x86)\Intel\oneAPI\compiler\latest\bin;c:\Program Files (x86)\Intel\oneAPI\compiler\latest\bin32;C:\Users\sg\AppData\Local\Microsoft\WindowsApps;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

 

I also will note that C:\Program Files (x86)\Common Files\Intel\Shared Libraries was changed after I installed the runtime environment and that it also contains the DLLs that I was having trouble with.

返信