openmp-lib, Qopenmp-lib

Lets you specify an OpenMP* run-time library to use for linking.

IDE Equivalent

None

Architectures

IA-32 architecture, Intel® 64 architecture, IA-64 architecture

Syntax

Linux: -openmp-lib type
Mac OS X: None
Windows:  /Qopenmp-lib:type

Arguments

type Specifies the type of library to use; it implies compatibility levels. Possible values are:
  legacy Tells the compiler to use the legacy OpenMP* run-time library (libguide). This setting does not provide compatibility with object files created using other compilers.
  compat Tells the compiler to use the compatibility OpenMP* run-time library (libiomp). This setting provides compatibility with object files created using Microsoft* and GNU* compilers.

Default

-openmp-lib legacy or /Qopenmp-lib:legacy The compiler uses the legacy OpenMP run-time library (libguide) shipped with earlier compiler releases.

Description

This option lets you specify an OpenMP* run-time library to use for linking.

The legacy OpenMP run-time library is not compatible with object files created using OpenMP run-time libraries supported in other compilers.

The compatibility OpenMP run-time library is compatible with object files created using the Microsoft* OpenMP run-time library (vcomp) and GNU OpenMP run-time library (libgomp).

To use the compatibility OpenMP run-time library, compile and link your application using the -openmp-lib compat (Linux) or /Qopenmp-lib:compat (Windows) option. To use this option, you must also specify one of the following compiler options:

On Windows* systems, the compatibility OpenMP* run-time library lets you combine OpenMP* object files compiled with the Microsoft* C/C++ compiler with OpenMP* object files compiled with the Intel C/C++ or Fortran compilers. The linking phase results in a single, coherent copy of the run-time library.

On Linux* systems, the compatibility Intel OpenMP* run-time library lets you combine OpenMP* object files compiled with the GNU* gcc or gfortran compilers with similar OpenMP* object files compiled with the Intel C/C++ or Fortran compilers. The linking phase results in a single, coherent copy of the run-time library.

You cannot link object files generated by the Intel® Fortran compiler to object files compiled by the GNU Fortran compiler, regardless of the presence or absence of the -openmp (Linux) or /Qopenmp (Windows) compiler option. This is because the Fortran run-time libraries are incompatible.

Note

The compatibility OpenMP run-time library is not compatible with object files created using versions of the Intel compiler earlier than 10.0.

Alternate Options

None

See Also

openmp, Qopenmp compiler option

openmp-stubs, Qopenmp-stubs compiler option

openmp-profile, Qopenmp-profile compiler option