- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello!
I'm building a Fortran Windows DLL with the Intel Fortran Compiler XE 13.1 integrated in MS Visual Studio 2012. This DLL will be part of a Windows application developed in association with a third party. However, we experience some problems concerning the DLL after installing the application (version conflicts, error messages saying 'DLL not found', ...). So, I have a few questions:
1. Would it be possible build the DLL statically linked with the required Windows DLL's and just copy 'my' DLL to the target system? Would this be a wise thing to do? What compiler settings are required then?
2. I know there are some merge modules available in the 'redist' folder of Composer XE 2013. I assume the .msm file to use is dependent on the target system (32 or 64 bit)? Can these modules be applied to Windows XP as well?
3. Would it be possible to copy the required Windows DLL's manually? If so, which DLL's are required?
I hope your answers will get me on the right track...
Many thanks in advance,
Jan
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The important question here is: will there be any Intel Fortran in the executable linked to your DLL? If yes, then it is required that the EXE and your DLL both link to the DLL libraries. If not, then you can link the DLL to the static libraries (but if you use OpenMP, that option is not available.) To do this, set the project property Fortran > Libraries > Use Runtime Library to "Multithreaded".
Otherwise, you can use the .msm on XP, as far as I know. We also offer executable installers - see What do I need to deploy my Fortran application on a system where the compiler is not installed? for details.
You can also copy individual DLLs, but keep in mind that they have to be in a folder in PATH or in the folder of the EXE- you can't just put them alongside your DLL.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Steve, thank you for your quick response.
No, there won't be any Fortran in the executable which makes it possible to statically link my DLL.Still, two questions remain:
- Is this a wise thing to do?
- Will a statically linked DLL run on any Windows version?
Anyway, I will try your suggestion(s) and report any progress.
Jan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It's ok to do if there won't be Fortran in the executable. There are some features that require the DLLs, though, such as OpenMP and coarrays. It should run on Windows XP and later, but you'll need to test.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page