I was using IPP 7 with Visual Studio 2010 (32 bit). It began to give linking error at compiling:
error LNK2019: unresolved external symbol _ippiMalloc_32f_C1@12 referenced in function _main
"Use IPP: Single-threaded Static Library" is setted.
Reinstall IPP 7, Install IPP 8, ... and other options didn't work.
If I set libraries manually from VisualStudio configration like below, it compiles.
Additional Library Directories: C:\\Program Files (x86)\\Intel\\Composer XE 2013 SP1.083\\ipp\\lib\\ia32
Additional Dependencies: ippac.lib; ippacmt.lib; ippcc.lib; ippccmt.lib, ...
Why it is not linking when I set from VS "Use IPP: Single-threaded Static Library" ?
Could you attach a build log file? For obtaining this file do the following: Open Tools.Options dialog and set property "Projects and Solutions -> Build and Run -> MSBuild project build log file verbosity" to "Diagnostic". Then rebuild your project. Find the log file in your intermediate build directory (Debug or Release), it's a file with the same name as your project and log extension.
Regards, Vadim G.
Thanks for the log. For some reason, the definition _IPP_SEQUENTIAL_STATIC was not passed to the compiler (cl.exe) command line. What the property "Intel Performance Libraries-->Use IPP" does is just passing this definition to the cmline. You can try adding _IPP_SEQUENTIAL_STATIC explicitly to the Preprocessor Definition property just to check that the error is gone.
Also, you can check whether the issue exists when the Intel C++ comper is set to use with your project. For this, click on the project node and invoke context menu: Composer XE 2013 SP1-> Use Intel C++ and then double check that "Use IPP" property is set to single-threaded.
Please, send me the compiler integration version. You can find it in Help-->About dialog. Open the dialog and navigate to Intel(R) C++ Composer XE2013 SP1 in the list of installed products and copy Product Details in the box below.
Using Intel C++ compiler didn't change anything. I had opened an issue on Intel Support. They solved that by adding "/D _IPP_SEQUENTIAL_STATIC" to C++, CommandLine, Additional Options.
Intel Complier Version: 22.214.171.1240.2010