- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Itwo weeks ago, Ibought Intel Fortran 11 to replace MS Powerstation Fortran 4. I need to compile a Fortran dll. My intended use for this dll is to call it from a Windows program written in Delphi. The Fortran dll is basically an integer function, taking an input number to validate proper use of the dll and returning an error condition number. Once the Fortran dll starts, it reads a text data file and generates four text output files. The dll has roughly 100,000 lines of coding in about 60 source files. Conversion of the Fortran into Delphi or C isn't practical. The Delphi exe calls additional dll's for graphics and Robohelp.
The problem I face is that the Intel Fortran requires 11 additional Intel dll's to run.The Delphi exe can call the Fortran dlljust fine on my PC (which has the Intel Fortran 11 installed), but I need to be able to distribute the calling exe and Fortran dll without the additional baggage if possible.
The additional dll's required by the Intel dll are: inconsol, ifwin, libifcoremd, libirc, libmmd, svml_disp, kernel32, msvcrt, oldnames, gdi32, and user32.
The Intel command line is:
/nologo /module:"Release\" /object:"Release\" /libs:dll /threads /winapp /4Yportlib /c
Is there an easy fix to this problem?
All help will be greatly appreciated,
Bill Isenhower, wmi@ensoftinc.com
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Use /libs:static instead of /libs:dll. In Visual Studio, this is property Fortran > Libraries > Use Run-Time Library > Multithreaded.
Some of those "Intel DLL" names you mention are not DLLs or are not Intel's. The only ones which are Intel DLLs are libifcoremd, libmmd and svml_disp (would be svml_dispmd)
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Use /libs:static instead of /libs:dll. In Visual Studio, this is property Fortran > Libraries > Use Run-Time Library > Multithreaded.
Some of those "Intel DLL" names you mention are not DLLs or are not Intel's. The only ones which are Intel DLLs are libifcoremd, libmmd and svml_disp (would be svml_dispmd)
Steve,
Thank you for your quick reply. My dll is now working.
Bill
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page