我正在尝试使用ICC编译代码并面临错误:
/opt/intel/composer_xe_2013.2.146/compiler/include/xmmintrin.h(82): error: linkage specification is incompatible with previous "_mm_malloc" (declared at line 38 of "/usr/lib/gcc/x86_64-redhat-linux/4.4.7/include/mm_malloc.h") extern void* __ICL_INTRINCC _mm_malloc(size_t, size_t);
看起来像ICC和GCC冲突.但我无法从$ PATH中排除GCC.如何解决这种困惑?
问题出在我编译的代码中.我们包括malloc头,这对ICC和GCC是不同的.还有GCC标题名称.
解决方案是:
#if defined(__INTEL_COMPILER) #include#else #include #endif // defined(__GNUC__)