I have magni.exe that runs in debug mode on my computer, Dell Windows 10. I sent the exe to a student to use and they cannot run the program they are missing DLL's
I compile in release mode and get that the linker cannot find external symbols for PARDISO and one other.
So reading my handy dandy forum - I find the need it appears to statically link libraries. Magni uses MKL - Pardiso etc.. I check the link website and it says
mkl_intel_c.lib mkl_intel_thread.lib mkl_core.lib libiomp5md.lib
It is still in release mode and now the errors disappear.
1. What did I do -- in reality
2. Can I just now send the magni release to the student as it is 58MB and the debug is 11MB?
3. Do I need to send other stuff?
Interestingly these are engineering students who have never used Notepad or Notepad++
I installed Windows 10 on a NUC on an old HDD - no idea how slow these are -- and then I copied the program on and tried to run it.
I ended up needing 4 DLLs from the Intel Shared Folder and the MS Runtime.
I put those into the folder on the fresh windows with the program and they worked.
Is there anyway to link in those DLLs, I could not find lib versions of them on the main computer.
Interesting in '88 when I sent Fortran MS programs to our Melbourne Office they only needed the exe,
All but the OpenMP library are available as static libraries and will be used when you change the compiler libraries setting to "Multithreaded (/MT)". It's been about six or seven years since the default changed to DLL linking.
I strongly recommend against copying individual language support DLLs. Install the redistributables package instead.
In Project Properties
Libraries -> Runtime Library: Debug Multithreaded /libs:static /threads /dbglibs
the key option is /libs:static
this will cause the app to pull in the static .lib versions of the Intel Runtime libs. Caveat: I'm a Linux/mac person and my confidence in this advice is 90% only
Runtime Versions > Windows > Intel Fortran Compiler Classic Runtime for Windows
Student must run this first to install the DLLs.