Visual Studio 2017找不到windows.h

时间:2017-04-14 11:28:03

标签: c++ windows

Hell'o 我刚刚安装了Visual Studio 2017(企业版)。我打开了我在Visual Studio 2015中创建的项目。我的项目使用的是windows.h库,但是VS2017找不到这个库。怎么修这个?

11 个答案:

答案 0 :(得分:54)

我的解决方案是:

  • 打开项目属性
  • 进入一般 - > SDK版本
  • 我刚刚选择 10.0.15063.0 版本而不是8.1

它有效。

答案 1 :(得分:23)

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

enter image description here

答案 2 :(得分:10)

当您在旧项目中具有自定义的包含/库路径时,会发生这种情况。如果您在项目属性中添加了自己的附加路径,VisualStudio 2017无法在平台/工具集之间切换时自动找出基本路径 - 通常它会自动在那里放置正确的路径,但如果您添加了自定义,则VS赢了触碰他们。

这是我最近在将针对Windows XP的旧项目迁移到VS2017时遇到的合法问题。到目前为止,此处列出/链接的答案或评论都没有帮助。我在VisualStudio 2017安装程序中有所有旧版SDK,并且没有修复VS找不到必要的包括<windows.h>。在我的情况下,该项目使用VS2013的v120工具集,在新的VS中被v140_xp取代。

在设置VS2017理解的正确平台和工具集后,我执行了以下操作来解决问题:

  • 打开项目属性,转到VC ++目录,包含目录&#39;并且对于“图书馆目录”,请选择<Inherit from parent or project defaults>。这将删除您的其他路径。

  • 点击“应用”#39;这将重置包含$(VC_IncludePath_x86);$(WindowsSdk_71A_IncludePath_x86)之类的路径(对于SDK会有所不同)。

  • 在此处重新添加您的额外路径,或者更好 - 在C / C ++ / General - &gt;下其他包含目录和链接器/常规 - &gt;其他图书馆馆藏。

答案 3 :(得分:1)

如果安装没问题,应该在这里:

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

因此,请确保它位于项目属性的包含路径上。

Project properties

或者如果您更喜欢在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>

答案 4 :(得分:1)

当您将C ++项目从更新的Visual Studio版本迁移到较小的Visual Studio版本时,就会出现问题。 要解决此问题,只需转到: 项目的属性->常规-> SDK版本 [此处展开以显示已安装的SDK版本,因此您将其降级为可用版本{由于所需的版本似乎不可用,因此会出现错误}]。 一旦选择了其中一个可用的SDK,请套用并返回您的代码,然后一切都会解决

答案 5 :(得分:1)

当我简单地将“常规=> Windows SDK版本”更改为另一个版本,提交更改,然后又将其更改回来时,我就解决了该问题。

答案 6 :(得分:1)

TL; DR:确保选中了下面标记的复选框。

在“包含目录”对话框中,底部的“继承自...”选项需要选中。将项目移至其他解决方案后,它以某种方式未经检查。

因此,就我而言,resetting to defaults甚至不需要再次添加自定义路径。 Screenshot

答案 7 :(得分:0)

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

答案 8 :(得分:0)

这一步对我有用。 1.打开visual studio安装程序 2.在菜单“Visual studio comunity 2017” - &gt;点击修改 3.在使用c ++的桌面开发中 - &gt;为桌面和Windows 8.1 SDK启用windows10 SDK 4.单击修改

答案 9 :(得分:0)

我还首先使用默认的合成设置安装了Visual Studio 2017(社区)。我打开了我在Visual Studio 2015中创建的项目。我的项目使用了windows.h库但是VS2017找不到这个库和其他问题。首先,我安装缺少的(SDK 10 ...等)组件。部分问题已经消失,但仍未找到windows.h。通过完全卸载VS2017然后立即安装所有选项来解决问题。

答案 10 :(得分:0)

我的解决方案是检查路径。

包括目录:

C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared;
%(AdditionalIncludeDirectories)

图书馆目录:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023\lib\x64

然后右键单击“解决方案资源管理器”:解决方案“ xxxxx”(1个项目)行单击“重新定位解决方案”

请记住为符号获取设置调试设置-Windows 10必须使用Microsoft符号服务器!