Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.

Error MSB4086 trying to use MKL libraries

Noah_F_
Beginner
868 Views

Windows 7, Visual Studio 2013 Professional, MKL 2017

I'm having an error when attempting to build a c++ project on newly installed MSVS 2013 using the MKL libraries.  The error is MSB4086: A numeric comparison was attempted on "$(SuiteVer)" that evaluates to "[Intel Compiler is not installed]" instead of a number, in condition "$(SuiteVer) >= 17 OR $(MKLMNewArgFormat) == 1".  It seems to be complaining about no Intel C++ compiler being installed.  That's fine, I don't think I have it, and I don't think that I should need it to use the MKL libraries. 

I've gone through the usual checks of making sure that the VS/MKL integration features installed correctly, everything there looks fine.  And yes, I do have MKL enabled from the VS project settings. 

I also know the code is good, I previously was able to compile on VS2012 and can still compile on our Linux cluster (which has the Intel compiler installed but I don't think I have that on my Windows machine), but I want to debug locally before compiling on and submitting jobs to the cluster.

Any help is much appreciated.  Thanks. 

 

0 Kudos
1 Solution
Zhen_Z_Intel
Employee
868 Views

Dear Customer,

It is a known issue for compiler 17.0. We have fixed in 2017update1. You could download new version, or you could do following setting to avoid this problem in 2017:

Please edit file: 
"C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Platforms\Win32\PlatformToolsets\v140\ImportBefore\Intel.Libs.MKL.v140.targets" 
The line: 
      <_MKLArgPlatform Condition="$(SuiteVer) &gt;= 17 OR $(MKLMNewArgFormat) == 1">ia32</_MKLArgPlatform> 
replace with the lines: 
      <_MKLArgPlatform Condition="'$(SuiteVer)' == '[Intel Compiler is not installed]' AND $(MKLMajorVersion) &gt;= 17">ia32</_MKLArgPlatform> 
      <_MKLArgPlatform Condition="'$(SuiteVer)' != '[Intel Compiler is not installed]' AND ($(SuiteVer) &gt;= 17 OR $(MKLMNewArgFormat) == 1)">ia32</_MKLArgPlatform>

Hope it would be useful to you.

Best regards,
Fiona

View solution in original post

0 Kudos
2 Replies
Zhen_Z_Intel
Employee
869 Views

Dear Customer,

It is a known issue for compiler 17.0. We have fixed in 2017update1. You could download new version, or you could do following setting to avoid this problem in 2017:

Please edit file: 
"C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Platforms\Win32\PlatformToolsets\v140\ImportBefore\Intel.Libs.MKL.v140.targets" 
The line: 
      <_MKLArgPlatform Condition="$(SuiteVer) &gt;= 17 OR $(MKLMNewArgFormat) == 1">ia32</_MKLArgPlatform> 
replace with the lines: 
      <_MKLArgPlatform Condition="'$(SuiteVer)' == '[Intel Compiler is not installed]' AND $(MKLMajorVersion) &gt;= 17">ia32</_MKLArgPlatform> 
      <_MKLArgPlatform Condition="'$(SuiteVer)' != '[Intel Compiler is not installed]' AND ($(SuiteVer) &gt;= 17 OR $(MKLMNewArgFormat) == 1)">ia32</_MKLArgPlatform>

Hope it would be useful to you.

Best regards,
Fiona

0 Kudos
Noah_F_
Beginner
868 Views

Yes, I can confirm that applying the update fixed the issue.  Many thanks Fiona for your prompt response.

Best, Noah. 

0 Kudos
Reply