Visible to Intel only — GUID: GUID-A33A0333-20DE-4D70-A53C-F962CD757241
Visible to Intel only — GUID: GUID-A33A0333-20DE-4D70-A53C-F962CD757241
Linking Options
Intel® Integrated Performance Primitives (Intel® IPP) is distributed as:
- Static library: static linking results in a standalone executable
- Dynamic/shared library: dynamic linking defers function resolution until runtime and requires that you bundle the redistributable libraries with your application
The following table provides description of libraries available for linking.
Single-threaded (non-threaded) |
Threading Layer (externally threaded) |
|
Description | Suitable for application-level threading | Implementation of application-level threading depends on single-threaded libraries |
Found in | Main package After installation: <ipp directory>/lib and <ipp directory>/lib32 (static - Windows & Linux, dynamic - Linux only) <ipp directory>/bin/ and <ipp directory>/bin32(dynamic - Windows only) |
|
Static linking | Windows* OS: mt suffix in a library name (ipp<domain>mt.lib) Linux* OS: no suffix in a library name (libipp<domain>.a) |
Windows* OS: _mt_tl_<threading_sfx> suffix in a library name (ipp<domain>mt_tl_<threading_sfx>.lib) Linux* OS: _tl_<threading_sfx> suffix in a library name (libipp<domain>_tl_<threading_sfx>.a) + single-threaded libraries dependency, where <threading_sfx> is one of {tbb, omp} |
Dynamic Linking | Default (no suffix) Windows* OS: ipp<domain>.dll Linux* OS: libipp<domain>.so |
_tl_<threading_sfx> suffix Windows* OS: ipp<domain>_tl_<threading_sfx>.dll Linux* OS: libipp<domain>_tl_<threading_sfx>.so + single-threaded library dependency, where <threading_sfx> is one of {tbb, omp} |
To switch between Intel IPP libraries, set the path to the preferred library in system variables or in your project, for example:
- Windows* OS:
Intel® 64: SET LIB=<ipp directory>\lib
IA-32: SET LIB=<ipp directory>\lib32
- Linux* OS:
Single-threaded Intel® 64: gcc <options> -L <ipp directory>/lib
Single-threaded IA-32: gcc <options> -L <ipp directory>/lib32
On Linux* OS, Intel IPP library depends on the following Intel® C++ Compiler runtime libraries: libirc.a, libsvml.a, and libimf.a. You should add a link to these libraries into your project. You can find these libraries in <intel compiler directory>/lib folders.
Threading Layer depends on the OpenMP* or Intel® Threading Building Blocks (Intel® TBB) library according to the selected threading type. You can find these libraries in <intel compiler directory>/lib or <tbb directory>/lib folders.