If you are compiling applications with a separate compile and link process, the optimization options in the compile/link phase should match, especially when using openmp, parallelization, vectorization or interprocedural optimizations. If options are not consistent, you may get missing symbols at link time, causing the link to fail.Example 1:
In this example -xW is used in the compile phase, but it is missing from the link phase and results in an unresolved external symbol vmldExp2. Correct this problem by linking with -xW option.
icpc -xW -c test1.cpp test2.cppExample 2:
In this example, -openmp is used in the compile phase but isn't used when linking. This results in unresolved errors when linking. Correct this problem by linking with -openmp option.
icpc -openmp test1.cpp test2.cpp
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