Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Beginner
11 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
11 Views

Note: I am building the DLL

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
Highlighted
Employee
11 Views

Try setting under project

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
11 Views

You may have an issue if your

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
11 Views

Quote:jimdempseyatthecove

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