Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Beginner
12 Views

Distribute compiiled DLL without ifort redistributable libraries?

Hi,

I am building a fortran DLL that I need to deliver to others. I would like to not require that the person receiving it have the intel libraries. Is there a compiler option so that I can statically link the libraries? (libmmd.dll and libifcoremd.dll)

 

Thank you,

James

0 Kudos
4 Replies
Highlighted
Beginner
12 Views

Note: I am building the DLL using visual studio 2013 professional with the 2016 intel compiler

For some reason I do not have permission to edit my post

0 Kudos
Employee
12 Views

Try setting under project settings Fortran > Libraries > Runtime Library to Multithreaded. From a command-line use: /libs:static /threads

Fortran 16.0 UG has advice/instructions on static linking for multithreaded apps with libiforemd.lib, https://software.intel.com/en-us/node/581357.

0 Kudos
Highlighted
12 Views

You may have an issue if your application uses components of IVF that are only distributed as DLL (OpenMP, MPI, ???).

Jim Dempsey

0 Kudos
Highlighted
12 Views

jimdempseyatthecove wrote:

You may have an issue if your application uses components of IVF that are only distributed as DLL (OpenMP, MPI, ???).

Yes - OpenMP and coarray support is DLL-only.

I'll also caution that there could be issues if the calling program built using Intel Fortran and linked to the DLL libraries (which is the default). In my view, building a Fortran DLL against the static libraries is safe only when you know the caller isn't going to be Fortran.

Retired 12/31/2016
0 Kudos