Intel® Fortran Compiler 17.0 Developer Guide and Reference

Compiling and Linking Intel® Fortran/C Programs

Your application can contain both C and Fortran source files. If your main program is a Fortran source file (myprog.for) that calls a routine written in C (cfunc.c), you can use the following sequence of commands to build your application.

Linux* and OS X*:

icc -c cfunc.c 
ifort -o myprog myprog.for cfunc.o

Windows*:

icl /c cfunc.c
ifort myprog.for cfunc.obj 
 /link /out:myprog.exe

The icc or icl command for Intel® C++ or the cl command (for Microsoft Visual C++*) compiles cfunc.c. The -c or /c option specifies that the linker is not called. This command creates cfunc.o (Linux* and OS X*) or cfunc.obj (Windows*).

The ifort command compiles myprog.for and links cfunc.o (Linux* and OS X*) or cfunc.obj (Windows*) with the object file created from myprog.for to create the executable.

Additionally, on Linux* and OS X* systems, you may need to specify one or more of the following options:

icc -c  cmain.c
ifort -nofor_main cmain.o fsub.f90

For more information about compiling and linking Intel® Fortran and C++ programs on Windows* operating systems, and the libraries used, see Specifying Consistent Library Types.