I have Intel Composer 2012 XE with Intel IPP 7.1.0.089.
I set in the project properties under Intel Libraries - "Use IPP: Single Threaded Static Library".
Yet after compiling I still get dependency of 'ippcore-7.1' and only 'ippcore-7.1'.
I use Intel Compiler for the compiling process.
How could that be? How could that be resolved? I think it is a bug since I use MS Compiler I don't have that dependency (Same settings).
I use Windows 7 64 Bit.
All paths are defined well.
This has not been fixed in Intel Compiler 13.
Settting /Quse-intel-optimized-headers causes a dependency on the IPP "threaded DLL" libraries, no matter what the settings on the project properties such as IPP : Static Libraries. This is a major PITA, especially since there are so many funky things happening in IPP right now ( functions being removed, threaded libraries deprecated etc).
With regards to this thread.
I have absolutely no issues with static vs. dynamic IPP as long as I do not use the use optimized intel headers option. As long as "use optimized intel headers" is off, the IPP link options works as designed.
If I turn that option on, then the final EXE will depend on the dynamic IPP DLLs no matter what the IPP linking option - assuming the code contains some mathematical function that is diverted to IPP via some header magic in the intel math headers.
Sergey - The problem appears with the combination of Intel Studio XE 2013 and Visual Studio 2012, not VS2008. When VS 2012 is used, there no longer is an option to enable /Qipp and /Qipp-link:static. The linker emits errors:
1>xilink : warning #10006: ignoring unknown option '/Qipp'
1>xilink : warning #10006: ignoring unknown option '/Qipp-link:static'
The resulting program "can't start because ippcore-7.1.dll is missing from your system." Unfortunately, even disabling the use of the Intel Optimized Headers does not enable any of our applications to run, even though the "Use IPP" option is set to "Single-threaded Static Library". Compiling the same code with Intel Studio XE 2011 and Visual Studio 2010 successfully creates executables that are statically linked against the IPP libraries.
This is a bug with Studio XE 2013 and Visual Studio 2012. We no longer have VS 2008 installed, so I cannot say whether VS2012 is required to trigger the bug with static linking. It is, however, sufficient. Also note that executables compiled with the debug libraries also are linked against the IPP dll's irrespective of whether static linking is used.