IPP linking causes crash


#1

I’ve just downloaded and installed the free community edition of the Intel Performance Primitives. After installation I’ve adjusted the include and library paths and also set the “ipp” setting in the Projucer to “single threaded static”. I then added the library path and added all necessary ipp*.lib files to the linker-input.

The project builds without problems or errors (MSVC 2017).

If I use even one function that uses the IPP functions, my plugin immediately crashes. Now the fun part is that it doesn’t crash when it reaches the point where IPP functions is called. That would be too easy, it crashes during instantiation before even the constructor is called.

It seems there is some kind of global object that get’s instantiated first and that seems to cause the crash.

The debugger within MSVC doesn’t even start, so I have no chance to set a break-point. The act of loading the DLL alone causes the crash, before the plugin can even be instantiated!

Does anyone have any experience using the IPP with an audio-plugin and got it working?

Thanks,
Mike


#2

Yes, I have ATKJUCE (a toy project for FFT visualization) that uses it. Perhaps it depends on the functions you are trying to use and which libraries you are linking to.


#3

Yes, I have this working. The Projucer should add all the paths and libs for IPP. Perhaps adding them twice is the problem? And I use the static runtime lib set in both Debug and Release (I don’t recall if this was a problem).


#4

For a plugin, the runtime should be static for the plugin and the dependencies.


#5

I’ve removed everything IPP for now and my plugin works again. If I even link ippcore.lib (not using ANY of the functions) it crashes immediately without any exceptions or anything. It just goes right back to the IDE.

I think I move on for now and re-investigate later… Thanks for the help.