Intel® Visual Fortran Compiler for Windows*

Program to big to fit in memory (error message)

I have been using digital fortran 6.1 successfully for a number of years on Windows NT. I upgraded to XP and reloaded Fortran. My old executables work fine. When I attempt to build a newexecutable (nothing has changed in the code)it compiles and builds fine, but when I try to run it I get the above error message. I reloaded my fortran once and the problem went away, but then came back. All subsequent attempts at reloading the program, building new workspces etc. have not solved the problem.

LIBPATH problems with multiple paths?

If I specify 2 paths, separated by a semicolon (as instructed under Project/Properties/Linker/General/AdditionalLibraryDirectories), "CommandLine" shows it generates two /LIBPATH statements, so I had expected the Linker would parse the line and re-append the values, but it appears that the first path is being lost and only the 2nd one is used.

Has anyone else experienced this?

For Additional Library Directories, I'm entering

../../../lib;Debug/

How detect if program is run interactively or in batch

A DOS console program may be run interactively with user input provided by the keyboard, or in batch mode, in which case user input is provided from a file. In certain situations the program should behaved differently, and I want to check in which mode the program runs. We used to do this by using INQUIRE to check if UNIT 5 is connected to CONIN$, I believe this worked in older versions, but anyway it does not work now (UNIT 5 is connected to CONIN$ in both situations). I have gone through all the intrinsic functions, but cannot find any that solves this. So how should this be done?

LoadLibrary fails, or the linking fails.

With "Default" and "C, REFERENCE", I can build the DLL (with or without calling the IMSL routines), but LoadLibrary is failing. In my C code, when it fails I try and make sure that the file exists and can be read, and that appears to work just fine, so C recognizes that there's a file there, but not a DLL. Using any of the STDCALL options, I can't link in the IMSL libraries.

Using STDCALL, and commenting out the IMSL, it'll load the DLL.

Does this make ANY sense?

libifcoremt.lib : error LNK2005 .... already defined

I'm getting alot of "already defined" LNK2005 errors during linking, and both libraries (libifcoremt and libifcore) where the definitions are defined are part of the v9 compiler:

libifcoremt.lib(for_reentrancy.obj) : error LNK2005: _for_set_reentrancy already defined in libifcore.lib(for_reentrancy.obj)

Is there something I need to toggle to avoid getting this error?

Linking IMSL libraries using C or STDCALL calling conventions?

Under Project | Properties dialog box in Fortran | External Procedures
when I set the Calling Convention to "Default" everything compiles fine, but LoadLibrary(...) fails from my C code. When I use "STDCALL, REFERENCE" or "C, REFERENCE", then the linker cannot find the IMSL libraries (because the linker appears to be translating the names).

In the exported function, I use

!DEC$ ATTRIBUTES C, DLLEXPORT::Clust

Intel® Visual Fortran Compiler for Windows* abonnieren