How to Build an Intel® IPP Application

Intel® IPP provides both dynamic and static libraries on Windows*, Linux*, and Mac OS X*.  The information below explains how to build with and link to Intel® IPP libraries in your application, based on different operating systems, development environments and compilers. Get install package from IPP Downloads, Registration and Licensing

Please notes: the IPP directory structure and library name changed in 7.0 and later version. Most of the information described in the article should be still effective.  But user may need to change the directory or library name correspondingly. Please refer to the article New Directory Structure and Library Naming in IPP and IPP 7.0 - Selecting the Intel® IPP Libraries Needed by Your Application

Support Programing languages:

C/C++ is the common language for Intel® IPP application programing. 
In addition, Intel IPP can be used with different programming languages - Using Intel® IPP with different programming languages.

How to build with and link to Intel® IPP:

Type

Category

Description

OS

Windows*

- Building a Windows* Application Using Intel® IPP

Linux*

- How to build Intel® IPP application in Linux* Environment

Mac OS*

- How to link to the Intel® IPP for Mac OS* X libraries in application?

Compiler

Microsoft* MSVC

- Calling Intel® IPP in MSVC 2008*(Microsoft Visual C++ 2008*)

Intel® Compiler, Intel® Parallel Composer

- Compiling and Linking Intel® IPP with Intel® C++ Compilers
- Use Intel IPP in Intel® Parallel Composer

64bit

Intel® 64  and IA64

- Building an Intel® IPP Application on an Itanium® Processor-based system


Find Which IPP Libraries Needed by Your Application:

- Intel® IPP- Library dependencies by domain
- Find the Intel® IPP Libraries Needed by Your Application
- Selecting the Intel® Integrated Performance Primitives (Intel® IPP) libraries needed by your application
- Intel® IPP - Intel® IPP linkage models - Quick Reference Guide

- Simplified Link Instructions for the IPP Library
- Introduction to Linking with the Intel© IPP 7.0 Library 



Distribute and Deploy Your IPP Application:

- Deploying applications with Intel® IPP DLLs
- redist.txt, located in the <IPP install directory>, lists all royalty-free redistributable Intel IPP files

Troubleshooting - Compile and Linking Errors:

- Error LNK2001: Unresolved External Symbol _ipp*
- LNK2001 error: unresolved external symbol ___security_cookie
unresolved external symbol __libm_sse2 and _iob
- OMP Abort: Initializing libguide40.dll but found libiomp5md.dll already initialized- XCode link error: "file not found: libiomp5.dylib"

Sample & Demo
- Build and run Intel® IPP samples 
- Source Code Examples from Intel IPP book
- Accelerate Your Application via IPP Image Processing in Parallel Studio - C code vs. IPP Resize
- Video Demo of Using Intel® IPP in Intel® Parallel Studio 

Other related topics
Intel® IPP - Threading / OpenMP* FAQ 
- High CPU usage and Intel® IPP threaded function
- Intel® IPP - Open Source Computer Vision Library (OpenCV) FAQ
For more complete information about compiler optimizations, see our Optimization Notice.