# qopenmp-link

Controls whether the compiler links to static or dynamic OpenMP* run-time libraries.

## Syntax

Linux: | -qopenmp-link=library

macOS: | -qopenmp-link=library

Windows: | None

## Arguments

library | Specifies the OpenMP library to use. Possible values are:
static | Tells the compiler to link to static OpenMP run-time libraries. Note that static OpenMP libraries are deprecated.
dynamic | Tells the compiler to link to dynamic OpenMP run-time libraries.

## Default

-qopenmp-link=dynamic | The compiler links to dynamic OpenMP* run-time libraries. However, if Linux* option -static is specified, the compiler links to static OpenMP run-time libraries.

## Description

This option controls whether the compiler links to static or dynamic OpenMP* run-time libraries.

To link to the static OpenMP run-time library (RTL) and create a purely static executable, you must specify -qopenmp-link=static. However, we strongly recommend you use the default setting, -qopenmp-link=dynamic.

Option -qopenmp-link=dynamic cannot be used in conjunction with option -static. If you try to specify both options together, an error will be displayed.

### Note

Compiler options -static-intel and -shared-intel (Linux* and macOS) have no effect on which OpenMP run-time library is linked.

### Note

On Linux systems, the OpenMP runtime library depends on using libpthread and libc (libgcc when compiled with gcc). Libpthread and libc (libgcc) must both be static or both be dynamic.

If both libpthread and libc (libgcc) are static, then the static version of the OpenMP runtime should be used. If both libpthread and libc (libgcc) are dynamic, then either the static or dynamic version of the OpenMP runtime may be used.

### 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