Don't explicitly search VC++ include directory for include files by using /I option

Published: 12/25/2012, Last Updated: 12/25/2012

Intel compiler searches user specified include directories, then Intel include directories, and finally Microsoft* VC++ include directories.  If you explicitly add /I$(VCInstallDir)\include either in Visual Studio IDE or in command line, Intel compiler will search VC++ include directories first.  As a result, you may see some error messages like this:

C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\xmmintrin.h(58): error #2277: invalid definition of __m128; use #include "xmmintrin.h" instead

The error above indicates that you were including xmmintrin.h from VC++, rather than the one from Intel compiler, which is located in C:\Program Files (x86)\Intel\Composer XE 2013\compiler\include (the directory varies a little bit depending on the version of Intel compiler you were using).  To solve the problem, simply drop the /I option causing trouble.

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804