web-dev-qa-db-fra.com

Impossible d'ouvrir Windows.h dans Microsoft Visual Studio

Tout d'abord: j'utilise Microsoft Visual Studio 2012

Je suis un développeur C #/Java et j'essaye maintenant de programmer pour le kinect en utilisant Microsoft SDK et C++. J'ai donc commencé avec l'exemple Color Basics, et je ne parviens pas à le compiler. Au début, aucune classe n'était capable de trouver Windows.h. J'ai donc installé (ou réinstallé, je ne suis pas sûr) le SDK Windows et ajouté le répertoire include du SDK au "chemin" du projet. Alors tous les problèmes ont disparu, sauf un:

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

Et c'est l'erreur. Aucune raison pour laquelle, le système peut le trouver car il est utilisé dans plusieurs autres fichiers, seul ce fichier ne peut pas fonctionner avec. À titre de référence, l’ensemble du fichier qui fait problème (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

Si vous ne l'avez pas déjà fait, essayez d'ajouter "SDK Path\Include" à:

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

Et ajouter "SDK Path\Lib" à:

Project → Preferences → Linker → General → Additional Library Directories

Aussi, essayez de changer "Windows.h" à <windows.h>

Si cela ne vous aide pas, vérifiez l’existence physique du fichier, il doit se trouver dans le dossier "\ VC\PlatformSDK\Include" de votre répertoire d’installation de Visual Studio.

22
Choufler

Démarrez Visual Studio. Allez dans Outils-> Options et développez Projets et solutions. Sélectionnez VC++ Directories dans l’arborescence et choisissez Include Files dans la liste déroulante de droite.

Tu devrais voir:

$ (WindowsSdkDir)\include

Si cela manque, vous avez trouvé un problème. Sinon, recherchez un fichier. Il devrait être situé dans

Systèmes 32 bits:

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

Systèmes 64 bits:

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

si VS était installé dans le répertoire par défaut.

Source: 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

Si vous ciblez Windows XP (v140_xp), essayez d'installer Windows XP Prise en charge de C++.

À partir de Visual Studio 2012, l'ensemble d'outils par défaut (v110) a cessé de prendre en charge Windows XP. En conséquence, un Windows.h _ erreur peut se produire si votre projet cible Windows XP avec les packages C++ par défaut).

Vérifiez quelle version du kit de développement logiciel Windows est spécifiée dans le Platform Toolset de votre projet. (Project → Properties → Configuration Properties → General). Si votre ensemble d'outils se termine par _xp _, vous devez installer le support XP.

Visual Studio: Project toolset

Ouvrez le programme d'installation de Visual Studio et cliquez sur Modify pour votre version de Visual Studio. Ouvrez l'onglet Composants individuels et faites défiler jusqu'à Compilateurs, outils de compilation et environnements d'exécution. Près du bas, vérifiez Windows XP prise en charge de C++ et cliquez sur Modifier pour commencer l'installation.

Visual Studio Installer: XP Support for C++

Voir également:

4