I want to build an application with the Intel® Integrated Performance Primitives (Intel® IPP). Which domain libraries do I need to link to?
Intel IPP is divided into groups of related functions. Each subdivision is called domain, and has its own header file, static libraries, dynamic libraries, and tests. The table below lists each domain's code, header and functional area.
The only way to know the exact dependencies for the Intel IPP functions called from your application is to link to the libraries. For example, if your application uses Color Conversion functions then you must link to ippcc.lib (Windows*) or ippcc.so (Linux*). After you link, if there are unresolved symbols to functions with the prefix ippi, this means you also need to link to ippi.lib (Windows) or ippi.so (Linux). The ippcore library (ippcore.lib for Windows or ippcore.so for Linux) is required for all domains.
The file ipp.h includes Intel IPP header files with the exception of cryptography and generated functions. If you do not use cryptography and generated functions, include ipp.h in your application for forward compatibility. If you want to use cryptography or generated functions, you must directly include ippcp.h and ippgen.h in your application.
The figure below represents the domain internal dependencies graph.
Please avoid starting any new projects with the deprecated domains.
For more complete information about compiler optimizations, see our Optimization Notice.