

On Windows* OS, certain versions of Microsoft Visual C++* that support OpenMP, starting with Microsoft Visual C++ 2005. On Linux* OS and Mac OS* X, certain versions of GNU* gcc* that support OpenMP, starting with GNU* gcc* version 4.2. Intel compilers versions 10.0 and later and their supplied OpenMP libraries.įor Fortran applications on Linux systems, it is not possible to link objects compiled by the Intel® Fortran Compiler ( ifort) with objects compiled by the GNU* Fortran compiler ( gfortran).

OpenMP Legacy Libraries Provided by Intel Compilers Thus, for mixed-language C++ and Fortran applications, you can do one of the following:Ĭombine objects created by gfortran and Intel® C++ objects, if you specify the Intel OpenMP Compatibility libraries during linking.Ĭombine objects created by the Intel C++ compiler and the Intel Fortran Compiler, using Intel OpenMP Compatibility or Legacy libraries.

The set of Legacy OpenMP libraries has been provided by Intel compilers for multiple releases and provide source compatibility and object-level interoperability with the current Legacy libraries and OpenMP libraries provided by previous Intel compiler versions, including those prior to version 10.0. The Legacy libraries are not compatible with OpenMP support from non-Intel compilers, such as Microsoft Visual C++*, GNU gcc*, or GNU Fortran. To avoid possible linking or run-time problems, follow these guidelines: Guidelines for Using Different Intel Compiler Versions You should only use the Legacy libraries if your application requires object-level interoperability with OpenMP library versions provided prior to Intel compilers version 10.0. If you compile your application using only the Intel compilers, avoid mixing the Compatibility and Legacy OpenMP runtime libraries. That is, you must link the entire application with either the Compatibility or Legacy libraries. When using the Legacy libraries, use the most recent Intel compiler to link the entire application. However, be aware that the Legacy libraries are deprecated, so for a future release, you will need to link the entire application with the Compatibility libraries. Use dynamic instead of static OpenMP libraries to avoid linking multiple copies of the libraries into a single program. For details, see OpenMP Support Libraries. Guidelines for Using Intel and Non-Intel CompilersĪlways link the entire application using the Intel compiler OpenMP Compatibility libraries. This avoids linking multiple copies of the OpenMP runtime libraries from different compilers.
