The ifort command invokes a driver program that is the actual user interface to the compiler and linker. It accepts a list of command options and file names and directs processing for each file.
The driver program does the following:
Calls the Intel® Fortran Compiler to process Fortran files.
Passes the linker options to the linker.
Passes object files created by the compiler to the linker.
Passes libraries to the linker.
Calls the linker or librarian to create the executable or library file.
You can also use ld (Linux OS and Mac OS X) or link (Windows OS) to build libraries of object modules. These commands provide syntax instructions at the command line if you request it with the /? or /help option.
Theifort command automatically references the appropriate Intel Fortran Run-Time Libraries when it invokes the linker. Therefore, to link one or more object files created by the Intel Fortran compiler, you should use the ifort command instead of the link command.
Because the driver calls other software components, error messages may be returned by these other components. For instance, the linker may return a message if it cannot resolve a global reference. The -watch (Linux OS and Mac OS X) or /watch (Windows OS) command-line option can help clarify which component is generating the error.
Note
Windows systems support characters in Unicode* (multibyte) format; the compiler will process file names containing Unicode* characters.
Syntax Rules
The following rules apply when specifying ifort on the command line:
Fort Mackinac
An option is specified by one or more letters preceded by a hyphen (-) for Linux and Mac OS* X operating systems and a slash (/) for the Windows* operating system. (You can use a hyphen (-) instead of a slash for Windows OS, but this is not the preferred method.)
You can specify more than one input_file, using a space as a delimiter. See Understanding File Extensions.
Some options take arguments in the form of filenames, strings, letters, or numbers. Except where otherwise noted, you can enter a space between the option and its argument(s) or you can combine them. For a complete listing of compiler options, see the Compiler Options reference.
You can specify more than one input_file , using a space as a delimiter. When a file is not in your path or working directory, specify the directory path before the file name. The filename extension specifies the type of file.
Note
Options on the command line apply to all files. For example, in the following command line, the -c and -nowarn options apply to both files x.f and y.f:
You cannot combine options with a single slash or hyphen, but must specify the slash or hyphen for each option specified. For example, this is correct: /1 /c
But this is not: /1c
Some compiler options are case-sensitive. For example, c and C are two different options.
Options can take arguments in the form of filenames, strings, letters, and numbers. If a string includes spaces, it must be enclosed in quotation marks.
All compiler options must precede the -Xlinker (Linux OS and Mac OS X) or /link (Windows OS) options. Options that appear following -Xlinker or /link are passed directly to the linker.
Unless you specify certain options, the command line will both compile and link the files you specify. To compile without linking, specify the -c (Linux OS and Mac OS X) or /c (Windows OS) option.
You can abbreviate some option names, entering as many characters as are needed to uniquely identify the option.
Compiler options remain in effect for the whole compilation unless overridden by a compiler directive.
On Windows OS, certain options accept one or more keyword arguments following the option name. To specify multiple keywords, you typically specify the option multiple times. However, some options allow you to use comma-separated keywords. For example:
For options that use a colon, you can use an equals sign (=) instead of the colon.
- You can redirect standard output and standard error to a file. This avoids displaying a lot of text, which will slow down execution; scrolling text in a terminal window on a workstation can cause an I/O bottleneck (increased elapsed time) and use more CPU time. See the examples in the next section.
Examples of the ifort Command
The following command compiles x.for, links, and creates an executable file. This command generates a temporary object file, which is deleted after linking:
The following command compiles x.for and generates the object file x.o (Linux OS and Mac OS X) or x.obj (Windows OS). The c option prevents linking (it does not link the object file into an executable file):
The following command links x.o or x.obj into an executable file. This command automatically links with the default Intel Fortran libraries:
The following command compiles a.for, b.for, and c.for. It creates three temporary object files, then links the object files into an executable file named a.out (on Linux OS and Mac OS X) or a.exe (Windows OS):
Ifort Mac N
When you use modules and compile multiple files, compile the source files that define modules before the files that reference the modules (in USE statements).
When you use a single ifort command, the order in which files are placed on the command line is significant. For example, if the free-form source file moddef.f90 defines the modules referenced by the file projmain.f90, use the following command:
To specify a particular name for the executable file, specify the -o (Linux* OS and Mac OS* X) or /exe (Windows* OS) option:
To redirect output to a file and then display the program output (Linux* OS and Mac OS X):
To place standard output into file one.out and standard error into file two.out (Windows* OS):
Or
To place standard output and standard error into a single file both.out (Windows OS):
Or
Other Methods for using the Command Line Window to Invoke the Compiler
You can use the command-line window to invoke the Intel Fortran Compiler in a number of ways, detailed below.
Using makefiles from the Command Line
Use makefiles to specify a number of files with various paths and to save this information for multiple compilations. For more information on using makefiles, see Using Makefiles to Compile Your Application.
Using the devenv command from the Command Line (Windows only)
Use devenv to set various options for the integrated development environment (IDE) as well as build, clean, and debug projects from the command line. For more information on the devenv command, see the devenv description in the Microsoft Visual Studio* documentation.
Using a .bat file from the Command Line
Use a .bat file to consistently execute the compiler with a desired set of options. This spares you retyping the command each time you need to recompile.