Find the Intel® IPP Libraries Needed by Your Application

Submit New Article

October 20, 2009 12:00 AM PDT


Overview
Intel® IPP libraries needed in linking depend on the function domain and the linkage model you choose. Dynamic linkage and static linkage with dispatching are two simple and commonly used linkage models.

Function Domain
Intel® IPP libraries classfy it's function into about 16 domain.  It is easy to discern the function domain for one function by the header file name.
For example a function ippsFind_8u(), check it's discription in reference manual
Description
The functions ippsFind and ippsFindRev are declared in the ippch.h file.  then the function belong to ippch string processing domain.
Then check the below table, you will find the libraries the function needed.


Domain

Library

Maximum Dependencies

Audio Coding

ippac

ippdc, ipps,ippcore

Color Conversion

ippcc

ippi, ipps, ippcore

String Processing

ippch

ipps, ippcore

Cryptography

ippcp

ippcore

Computer Vision

ippcv

ippi, ipps, ippcore

Data Compression

ippdc

ipps, ippcore

Data Integrity

ippdi

ippcore

Generated Functions

ippgen

ipps ippcore

Image Processing

ippi

ipps, ippcore

JPEG

ippj

ippi, ipps, ippcore

Matrix Math

ippm

ipps, ippcore

Realistic Rendering

ippr

ippi, ipps, ippcore

Signal Processing

ipps

ippcore

Speech Coding

ippsc

ipps, ippcore

Speech Recognition

ippsr

ipps, ippcore

Video Coding

ippvc

ippi, ipps, ippcore

Vector Math

ippvm

ippcore

Note: "Maximum" means that dependencies are allowed. The speech recognition domain is only available thru version 6.1 of the library.

Dynamic Linkage
In order to use the dynamic linking libraries, you need to link to ipp*.lib files in the stublib directory. Intel IPP domain specific functions are included in this directory. For example, ippj.lib is the JPEG library and ippi.lib is the image processing library (see the domain and associated library table in Building an Application). You need to link to all corresponding domain libraries used in your applications.

For example, your application uses three Intel IPP functions ippicopy_8uC1R, ippiCanny_16s8u_C1R and ippmMul_mc_32f. These three functions belong to the image processing domain, computer vision domain and matrix domain respectively. In order to include these functions into your application, you need to link to the following three Intel IPP libraries:

  • ippi.lib
  • ippcv.lib
  • ippm.lib

You can also refer to this quick reference table.

Static Linkage with Dispatching
In order to use the static linking libraries, you need to link to ipp*emerged.lib, ipp*merged.lib and ippcorel.lib located in the lib directory. Intel IPP domain specific functions are included in this directory. For example, ippjemerged.lib and ippjmerged.lib are the JPEG static libraries. (see Building an Application for details). Both ipp*emerged.lib and ipp*merged.lib libraries of each domain you use need to be linked into your application.

Again your application uses three Intel IPP functions ippicopy_8uC1R, ippiCanny_16s8u_C1R and ippmMul_mc_32f. These three functions belong to the image processing domain, computer vision domain and matrix domain respectively. You need to link the following IPP libraries into your application:

  • ippiemerged.lib and ippimerged.lib
  • ippcvemerged.lib and ippcvmerged.lib
  • ippmemerged.lib and ippmmerged.lib
  • ippcorel.lib

For more detail information on different linkage models for your Intel IPP application, please refer to the document Building an Application and the Linkage Model Guide.

Operating System:

Windows* XP Professional, Windows Server* 2003
 


Do you need more help?


This article applies to: Intel® Integrated Performance Primitives Knowledge Base