无法在 Microsoft Visual Studio 中打开 Windows.h

新手上路,请多包涵

首先:我使用的是 Microsoft Visual Studio 2012

我是一名 C#/Java 开发人员,我现在正在尝试使用 Microsoft SDK 和 C++ 为 kinect 编程。所以我从 Color Basics 示例开始,但我无法编译它。起初,没有一个类能够找到 Windows.h。所以我安装(或重新安装,我不确定)Windows SDK,并将SDK的包含目录添加到项目的包含“路径”中。然后所有问题都消失了,除了一个:

 Error   5   error RC1015: cannot open include file 'windows.h'. C:\temp\ColorBasics-D2D\ColorBasics.rc  17  1   ColorBasics-D2D

这就是错误。没有原因,系统可以找到它,因为它在多个其他文件中使用,只有这个文件无法使用它。作为参考,有问题的整个文件(ColorBasics.rc):

 //------------------------------------------------------------------------------
// <copyright file="ColorBasics-D3D.rc" company="Microsoft">
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// </copyright>
//------------------------------------------------------------------------------

// Microsoft Visual C++ generated resource script.
//
#include "resource.h"

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#define APSTUDIO_HIDDEN_SYMBOLS
#include "windows.h"
#undef APSTUDIO_HIDDEN_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
// English (United States) resources

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US

/////////////////////////////////////////////////////////////////////////////
//
// Icon
//

// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_APP                 ICON                    "app.ico"

/////////////////////////////////////////////////////////////////////////////
//
// Dialog
//

IDD_APP DIALOGEX 0, 0, 512, 424
STYLE DS_SETFONT | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_CONTROLPARENT | WS_EX_APPWINDOW
CAPTION "Color Basics"
CLASS "ColorBasicsAppDlgWndClass"
FONT 8, "MS Shell Dlg", 400, 0, 0x1
BEGIN
    DEFPUSHBUTTON   "Screenshot",IDC_BUTTON_SCREENSHOT,238,391,50,14
    CONTROL         "",IDC_VIDEOVIEW,"Static",SS_BLACKFRAME,0,0,512,384
    LTEXT           "Press 'Screenshot' to save a screenshot to your 'My Pictures' directory.",IDC_STATUS,0,413,511,11,SS_SUNKEN,WS_EX_CLIENTEDGE
END

/////////////////////////////////////////////////////////////////////////////
//
// DESIGNINFO
//

#ifdef APSTUDIO_INVOKED
GUIDELINES DESIGNINFO
BEGIN
    IDD_APP, DIALOG
    BEGIN
    END
END
#endif    // APSTUDIO_INVOKED

#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//

1 TEXTINCLUDE
BEGIN
    "resource.h\0"
END

2 TEXTINCLUDE
BEGIN
    "#define APSTUDIO_HIDDEN_SYMBOLS\r\n"
    "#include ""windows.h""\r\n"
    "#undef APSTUDIO_HIDDEN_SYMBOLS\r\n"
    "\0"
END

3 TEXTINCLUDE
BEGIN
    "\r\n"
    "\0"
END

#endif    // APSTUDIO_INVOKED

#endif    // English (United States) resources
/////////////////////////////////////////////////////////////////////////////

#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//

/////////////////////////////////////////////////////////////////////////////
#endif    // not APSTUDIO_INVOKED

原文由 Cheiron 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 808
2 个回答

如果您还没有这样做,请尝试将 "SDK Path\Include" 添加到:

 Project → Preferences → C/C++ → General → Additional Include Directories

并将 "SDK Path\Lib" 添加到:

 Project → Preferences → Linker → General → Additional Library Directories

另外,尝试将 "Windows.h" 更改为 <windows.h>

如果没有帮助,请检查文件的物理存在,它应该位于 Visual Studio 安装目录的“\VC\PlatformSDK\Include”文件夹中。

原文由 Choufler 发布,翻译遵循 CC BY-SA 4.0 许可协议

如果有人在 Visual Studio 中遇到此问题,请执行以下步骤:

  1. 运行 Visual Studio 安装程序
  2. 去修改
  3. 取消旧版本的Windows SDK版本(对我来说,它是10.0.18??????)
  4. 勾选最新版本的 Windows SDK 版本(对我来说,它是 10.0.19??????)
  5. 按 OK,它将卸载旧 SDK 并安装包含所有头文件的新 SDK 版本。

原文由 Arsal Shahzaib 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题