# qopenmp-lib, Qopenmp-lib

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

## Syntax

Linux: | -qopenmp-lib=type

macOS: | -qopenmp-lib=type

Windows: | /Qopenmp-lib:type

## Arguments

type | Specifies the type of library to use; it implies compatibility levels. Currently, the only possible value is:
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

-qopenmp-lib=compat or /Qopenmp-lib:compat | The compiler uses the compatibility OpenMP* run-time library (libiomp).

## Description

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

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

To use the compatibility OpenMP run-time library, compile and link your application using the compat setting for option [q or Q]openmp-lib. To use this option, you must also specify one of the following compiler options:

- Linux* systems: -qopenmp or -qopenmp-stubs

- Windows* systems: /Qopenmp or /Qopenmp-stubs

Linux

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, Intel® C++, or Intel® Fortran Compiler. The linking phase results in a single, coherent copy of the run-time library.

This option is processed by the compiler driver command that initiates linking, adding library names explicitly to the link command.

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 [Q]openmp compiler option. This is because the Fortran run-time libraries are incompatible.

Windows

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, Intel® C++, or Intel® Fortran compilers. The linking phase results in a single, coherent copy of the run-time library.

This option is processed by the compiler, which adds directives to the compiled object file that are processed by the linker.

### Note

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

### Note

This option only applies to host compilation. When offloading is enabled, it does not impact device-specific compilation. Offloading can only be enabled when using ifx.

## IDE Equivalent

None

## Alternate Options

None

Parent topic: Offload Compilation, OpenMP*, and Parallel Processing Options

## See Also

qopenmp, Qopenmp compiler option
qopenmp-stubs, Qopenmp-stubs compiler option