Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
7875 Discussions

help please!! head files can't work sometimes


Hi, guys.

I use visual studio 2015 with intel c++ compiler . Functions in my code sometimes can't get correct result type, it seems that the system can't detect the head files only if I recheck the head files.

For example ,this is one line in my code:   __m256d        scale_256d = _mm256_set_pd(scale, scale, scale, scale);

there is an error cause function _mm256_set_pd is defined as int _mm256_set_pd()

However in immintrin.h, it is extern __m256d __ICL_INTRINCC _mm256_set_pd(double, double, double, double);

Please help if you get the answer :)


0 Kudos
1 Reply
Black Belt

As you're short on detail, I'll suggest that you check the LIB and INCLUDE environment settings, in particular the  INCLUDE.... Windows Kits\10\ path to see whether it points to where the headers were originally installed when you first installed VS2015 rather than to where they were moved during a partial online update.  There is some advice on this subject on MSDN, but it didn't clear the problem with respect to ICL.  In particular, I am left with C:\Program Files (x86)\Windows Kits\10\\include\10.0.10056.0\ucrt although the current corresponding complete include folder has a larger number.

The advice I've seen from an Intel person on this forum is to remove VS2015 and ICL and reinstall rather than trying to work with VS2015 in the partially updated state.  I would suggest you also remove outdated entries from your persistent Windows environment settings.  The other advice I've seen is to use VS2013 until such time as Microsoft sorts this out.  You don't need to download ICL installer again; you should be able to run the ICL setup from the Intel Download expanded folder after replacing VS, if you didn't check the box to have those deleted (at least if you are using the full ICL download manager rather than online install, which never worked for me).

I suppose Intel testing is normally done by installing on a clean Windows installation rather than taking a sequence of Microsoft updates over time, and Microsoft doesn't care much whether their updates work with 3rd party software, notwithstanding that some of VS2015 features apparently were added as a result of negotiations and support from Intel.

It's possible you might find a way to edit vcvars.bat or iclvars.bat so as to correct the LIB and INCLUDE environment, but this has not been recommended.  It's also possible to copy the headers you need back into the Windows Kit folder which is designated in your environment settings, rather than go through the 10 hour process of removing and replacing VS2015.

0 Kudos