Visual Studio 2017找不到windows.h

好吧,我刚刚安装了Visual Studio 2017(企业版)。我打开了我在Visual Studio 2015中创build的项目。我的项目使用了windows.h库,但VS2017找不到这个库。 如何修复?

我通过重新运行Visual Studio安装程序并选择“修改”按钮来解决此问题。 一旦出现“工作负载”屏幕,我单击“个别组件”选项卡并选择所有最新的“Windows 10 SDK”复选框(版本10.0.15063.0)。 我的猜测是,“Desktop C ++ x86和x64”的条目实际上是修复它的,但这只是推测,因为在运行安装程序时没有选中这些选项,因为您可以看到我检查了所有这些选项。

在这里输入图像说明

我的解决方案是:

  • 打开项目属性
  • 进入常规 – > SDK版本
  • 我只是选择了10.0.15063.0版本而不是8.1

它的工作。

当您在传统项目中定制包含/库路径时,会发生这种情况。 如果您在项目属性中添加了自己的附加路径,VisualStudio 2017在平台/工具集之间切换时不能自动找出基本路径 – 通常会自动在其中放入正确的路径,但是如果添加了自定义项,VS将不会触及它们。

这是我最近遇到的一个合法的问题,那就是将Windows XP的旧项目迁移到VS2017中。 目前列出/链接的答案或评论都没有帮助。 我已经在VisualStudio 2017安装程序中使用了所有旧版SDK,并且没有一个固定的VS没有找到必要的内容,例如<windows.h> 。 在我的情况下,该项目使用了VS2013的v120工具集,在较新的VS中被v140_xp所取代。

设置正确的平台和VS2017了解的工具集后,我做了以下解决问题:

  • 打开项目属性,转到VC ++目录,为“包含目录”和“库目录”,选择<Inherit from parent or project defaults> 。 这将删除您的其他路径。

  • 点击“应用”。 这将重置包括路径像$(VC_IncludePath_x86);$(WindowsSdk_71A_IncludePath_x86) (将有所不同SDK)。

  • 在C / C ++ / General – > Additional Include Directories和Linker / General – > Additional Library Directories下重新添加额外的路径。

您必须在Visual Studio 2017安装程序中,选择单个组件,并手动选择并安装Windows 8.1 SDK。

如果安装是好的,应该在这里:

C:\ Program Files(x86)\ Windows Kits \ 10 \ Include \ 10.0.15063.0 \ um \ Windows.h

所以确定它是在项目属性的包含路径中。

项目属性

或者,如果您希望在IncludePath标记行的.vcxproj文件中手动编辑:

 <IncludePath>$(VC_IncludePath);$(WindowsSDK_IncludePath);C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\um;C:\Program Files (x86)\Windows Kits\10\Include\10.0.15063.0\shared;</IncludePath> 

这一步为我工作。 1.打开Visual Studio安装程序2.在“Visual Studio comunity 2017”菜单上 – >点击修改3.在桌面开发中使用c ++ – >启用windows10 SDK for desktop和windows 8.1 SDK 4.点击修改