我花了最近2个小时围绕这个主题进行了讨论,并且无法让它工作,所以希望一些Visual Studio Guru能够帮助我。
首先是一些基础知识。
我正在使用Visual Studio 2013 Professional(32位)在Windows 10上进行开发,而我的VS正在完美地链接到C:\Program Files (x86)\Windows Kits\8.1
我也安装了8.0版本的Windows套件,但据我所知,VS2013没有使用它。同样,我安装了Visual Studio 2010但未用于此项目。
我的代码需要使用VersionHelpers.h中的IsWindows10OrGreater()
函数,该函数仅在Windows工具包10中可用。
我已安装Windows Kit 10,并已安装到C:\Program Files (x86)\Windows Kits\10
到目前为止一切顺利。 Windows Kit 10的安装创建了一个环境变量。它没有删除旧的Windows Kit 8.1环境变量,但我已经尝试过解决问题而没有成功。
问题是visual studio 2013链接到8.1 sdk。
我尝试在INCLUDE,LIB和LIBPATH(它已经在PATH中)中添加了10个路径,因为我在vcvars32.bat
中看到了这些路径。这没用。
经过相当多的挖掘后,我设法在project>properties>C/C++/Preprocessor>Preprocessor
定义下找到了,在宏中我注意到有一些Marcos定义指向C:\Program Files (x86)\Windows Kits\8.1
,但我找不到改变它们的方法宏。
有人可以告诉我如何配置Visual Studio以指向正确的SDK。
提前致谢
托马斯
答案 0 :(得分:0)
基于我用于VS2010的旧版SDK 8,我编写了这个属性表,似乎可行。 您将要验证WDK 10安装的文件夹是否正确,请注意这仅适用于x64。
创建文件Windows10SDK_X64.props
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<PropertyGroup Label="UserMacros" />
<PropertyGroup>
<ExecutablePath>$(VCInstallDir)bin\x86_amd64;$(VCInstallDir)bin;$(WindowsSdkDir)bin\NETFX 4.0 Tools;$(ProgramFiles)\Windows Kits\10\bin\x86;$(VSInstallDir)Common7\Tools\bin;$(VSInstallDir)Common7\tools;$(VSInstallDir)Common7\ide;$(ProgramFiles)\HTML Help Workshop;$(FrameworkSDKDir)\bin;$(MSBuildToolsPath32);$(VSInstallDir);$(SystemRoot)\SysWow64;$(FxCopDir);$(PATH)</ExecutablePath>
<IncludePath>$(ProgramFiles)\Windows Kits\10\Include\10.0.10240.0\um;$(ProgramFiles)\Windows Kits\10\Include\10.0.10240.0\shared;$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(FrameworkSDKDir)\include;</IncludePath>
<LibraryPath>$(VCInstallDir)lib\amd64;$(VCInstallDir)atlmfc\lib\amd64;$(ProgramFiles)\Windows Kits\10\lib\10.0.10240.0\um\x64;$(FrameworkSDKDir)\lib\x64</LibraryPath>
<ExcludePath>$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(ProgramFiles)\Windows Kits\10\Include\10.0.10240.0\um;$(ProgramFiles)\Windows Kits\10\Include\10.0.10240.0\shared;$(FrameworkSDKDir)\include;$(MSBuildToolsPath32);$(VCInstallDir)atlmfc\lib;$(VCInstallDir)lib;</ExcludePath>
</PropertyGroup>
<ItemDefinitionGroup />
</Project>
确保清理并重建。