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
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.
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.
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.
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.