Error LNK2001: "unresolved external symbol ___security_cookie" when using Intel® IPP 5.x or later versions by static linkage in Microsoft* Visual* C++ 6.0.
Microsoft* introduced a new compiler switch that is named "/GS" since Microsoft* Visual Studio* 2002, which inserts "security cookie" in some functions. Intel® IPP 5.x was built with the "/GS" compiler option and the older C Runtime Library in MSVC 6.0 does not support this.
For this problem, you need to use Microsoft* .Net 2003 or later version to compile your projects.
To use Intel® IPP dynamic libraries in your application, for example, link ippi.lib, ipps.lib ...
If you have to use the Microsoft* Visual Studio* 6 build environment, you need to build your projects with library “bufferoverflowU.lib” that can be taken from Microsoft* Win32 Software Development Kit (SDK) for Microsoft Windows* Server 2003 Service Pack 1 or later.
For users who use static IPP libraries for device driver application, please upgrade version of Windows* Driver Development Kit (DDK) to Microsoft Windows Server 2003 Service Pack 1 (SP1) DDK or later. Buffer overflow checking should be turned off by setting the environment variable NO_SAFESEH to 1 in the Windows Server 2003 DDK build environment.
Notes: Linking with bufferoverflowU.lib in Microsoft* Visual* C++ 6.0 can help for release project mode only, not for debug, because debugging information existing in bufferoverflowU.lib is not compatible with Microsoft Visual C++ 6.0.
This problem only exists in the static libraries. The following URL can give you more detailed information: http://support.microsoft.com/default.aspx?scid=kb;en-us;894573†
† This link will take you off of the Intel Web site. Intel does not control the content of the destination Web Site.
Intel® Integrated Performance Primitives (Intel® IPP) for Windows* - LNK2001 error: unresolved external symbol ___security_cookie
For more complete information about compiler optimizations, see our Optimization Notice.