web-dev-qa-db-ja.com

Microsoft Visual StudioでWindows.hを開けません

まず、Microsoft Visual Studio 2012を使用しています

私はC#/ Java開発者であり、Microsoft SDKとC++を使用してkinect向けにプログラムしようとしています。だから私はColor Basicsの例から始めましたが、コンパイルすることはできません。最初は、どのクラスもWindows.hを見つけることができませんでした。そこで、私はWindows SDKをインストール(または再インストール、確信はありません)し、SDKのinclude dirをプロジェクトのinclude "path"に追加しました。次に、1つを除くすべての問題がなくなりました。

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
30
Cheiron

まだ行っていない場合は、"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>に変更してください

それでも解決しない場合は、ファイルの物理的な存在を確認してください。VisualStudioのインストールディレクトリの「\ VC\PlatformSDK\Include」フォルダーにあるはずです。

22
Choufler

Visual Studioを起動します。 [ツール]-> [オプション]に移動し、[プロジェクトとソリューション]を展開します。ツリーからVC++ディレクトリを選択し、右側のコンボから[ファイルを含める]を選択します。

見るべき:

$(WindowsSdkDir)\ include

これが見つからない場合は、問題が見つかりました。そうでない場合は、ファイルを検索します。に配置する必要があります

32ビットシステム:

C:\ Program Files\Microsoft SDKs\Windows\v6.0A\Include

64ビットシステム:

C:\ Program Files(x86)\ Microsoft SDKs\Windows\v6.0A\Include

vSがデフォルトのディレクトリにインストールされている場合。

ソース: http://forums.codeguru.com/showthread.php?465935-quot-windows-h-no-such-file-or-directory-quot-in-Visual-Studio-2008!-Help&p = 1786039#post1786039

13
Andreyk6

Windowsをターゲットにしている場合XP(v140_xp)、インストールしてみてくださいWindows XP C++のサポート。 =

Visual Studio 2012以降、デフォルトのツールセット(v110)はWindows XPのサポートを終了しました。その結果、プロジェクトがデフォルトのC++パッケージでWindows XPをターゲットにしている場合、Windows.hエラーが発生する可能性があります。

プロジェクトのPlatform Toolsetで指定されているWindows SDKバージョンを確認します。 (Project → Properties → Configuration Properties → General)。ツールセットが_xpで終わる場合、XPサポートをインストールする必要があります。

Visual Studio: Project toolset

Visual Studio Installerを開き、使用しているVisual StudioのバージョンのModifyをクリックします。 Individual Componentsタブを開き、Compilers、build tools、およびruntimesまでスクロールします。下部近くで、Windows XP C++のサポートを確認し、変更をクリックしてインストールを開始します。

Visual Studio Installer: XP Support for C++

参照: