Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Mike_C1
Beginner
129 Views

With Visual Studio integration how is $(IPPIncludeDir) calculated and where is it persisted?

I have multiple versions of IPP installed, including old versions which I'm trying to switch between for build experimentation with some legacy code.

I'm trying to diagnose why I'm having problems switching between different IPP versions using Tools/Options/Intel Compilers and Tools/Performance Libraries/Intel IPP.

The version of IPP compiled against in Visual Studio seems to depend on the variable $(IPPIncludeDir). Sometimes $(IPPIncludeDir) does reflect the choice made in the setting above. At other times it gets stuck on a particular version that I can't change, not even necessarily the same version each time.

So my question is: How is $(IPPIncludeDir) calculated and where is it persisted between Visual Studio runs?

 

FWIW

I made sure to install Visual Studio integrations only once. Intel compiler 18 integrated with Visual Studio 2017 only and Intel Compiler 19 integrated with Visual Studio 2019 only.

I've had some success running the registry repair tool for the Intel Compiler 18/19 installers but it hasn't entirely cleared up the problem.

 

Thanks,

0 Kudos
1 Reply
Ockham_s_Razor
Beginner
107 Views

The actual value is stored in registry and depends upon the following

<IPPIncludeDir>$([MSBuild]::GetRegistryValueFromView('HKEY_LOCAL_MACHINE\SOFTWARE\Intel\Suites\$(_IPPSubKey)\IPP\$(ICPlatform)', 'IncludeDir', null,
RegistryView.Registry32))</IPPIncludeDir>

 

In reged the node is HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node

If you decide to hack it, I would suggest backint up the registry