web-dev-qa-db-fra.com

Visual Studio 2017 ne peut pas trouver windows.h

Hell'o Je viens d'installer Visual Studio 2017 (entreprise). J'ai ouvert le projet que j'ai créé dans Visual Studio 2015. Mon projet utilise la bibliothèque Windows.h, mais VS2017 ne parvient pas à la trouver. Comment réparer ça? 

15
Marcin Klima

Ma solution était:

  • Ouvrez les propriétés project
  • Dans Général -> Version du SDK
  • Je viens de choisir la version 10.0.15063.0 au lieu de 8.1

Et ça a fonctionné.

46
ImFonky

J'ai résolu ce problème en réexécutant le programme d'installation de Visual Studio et en sélectionnant le bouton "Modifier". Une fois présenté l'écran Workloads, j'ai cliqué sur l'onglet "Composants individuels" et sélectionné toutes les dernières cases à cocher "Windows 10 SDK" (version 10.0.15063.0). Je suppose que l'entrée correspondant à "Desktop C++ x86 et x64" est celle qui a été corrigée, mais il ne s'agit que d'une spéculation, car aucune de ces options n'a été cochée lors de l'exécution du programme d'installation.

 enter image description here

20
James Pack

Cela se produit lorsque vous avez personnalisé les chemins d'inclusion/bibliothèque dans les projets hérités. Si vous avez ajouté vos propres chemins supplémentaires dans les propriétés du projet, VisualStudio 2017 ne peut pas déterminer automatiquement les chemins de base lors du basculement entre plates-formes/outils. Normalement, il y insère automatiquement les chemins corrects. 

C'est un problème légitime que j'ai rencontré récemment lors de la migration d'un ancien projet destiné à Windows XP vers le VS2017. Aucune des réponses ou des commentaires énumérés/liés ici n’est utile. J'ai tous les SDK hérités dans le programme d'installation de VisualStudio 2017, et aucun de ces problèmes fixes ne trouve pas d'inclusion essentielle, tel que <windows.h>. Dans mon cas, le projet utilisait le jeu d’outils v120 de VS2013, remplacé par v140_xp dans les nouveaux VS. 

Après avoir défini la plate-forme et le jeu d’outils compris par VS2017, j’ai procédé comme suit pour résoudre le problème: 

  • Ouvrez les propriétés du projet, allez dans les répertoires VC++, pour 'Inclure les répertoires' et pour 'Répertoires de bibliothèque', choisissez <Inherit from parent or project defaults>. Cela supprimera vos chemins supplémentaires. 

  • Cliquez sur 'Apply'. Cela réinitialisera le chemin d'inclusion à quelque chose comme $(VC_IncludePath_x86);$(WindowsSdk_71A_IncludePath_x86) (varie pour les kits de développement). 

  • Ajoutez à nouveau vos chemins supplémentaires ici, ou mieux encore - sous C/C++/Général -> Répertoires d'inclusion supplémentaires et éditeur de liens/Général -> Répertoires de bibliothèque supplémentaires.

10
Cozzamara

Si l'installation s'est bien déroulée, cela devrait être ici:

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

Assurez-vous qu'il se trouve dans le chemin d'inclusion des propriétés du projet.

 Project properties

Ou si vous préférez modifier manuellement le fichier .vcxproj à la ligne IncludePath Tag:

<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>
1
Zanna

Le problème se produit lorsque vous migrez votre projet C++ d'une version de Visual Studio plus mise à jour vers une version inférieure . Pour résoudre le problème, accédez simplement à votre: Projet's propriétés -> Général -> Version du SDK) [et cliquez ici pour afficher les versions de SDK installées afin de revenir à une version disponible {La version requise semblant indisponible, d'où l'erreur}] . Une fois l'un des SDK disponibles sélectionné, Appliquer, puis Revenez dans votre code, et tout va être corrigé.

1
Thanos

Cette étape marche pour moi ... 1. Ouvrez le programme d’installation de visual studio 2. au menu "Visual studio comunity 2017" -> cliquez sur modifier 3. au développement de bureau avec c ++ -> activer le SDK Windows10 pour le bureau et le SDK Windows 8.1 4. cliquez sur modifier 

0
chokelive

Ma solution consistait à vérifier les chemins.

Inclure les répertoires:

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)

Répertoires de bibliothèque:

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

puis cliquez avec le bouton droit sur Explorateur de solutions: Solution 'xxxxx' (1 projet), puis cliquez sur "Retarget solution"

N'oubliez pas de définir le paramètre de débogage pour la récupération de symboles - Windows 10 doit utiliser le serveur de symboles Microsoft!

0

Vous devez accéder au programme d'installation de Visual Studio 2017, choisir Composants individuels, puis sélectionner et installer manuellement le SDK Windows 8.1.

0
Mardulu

J'ai également d'abord installé Visual Studio 2017 (communauté) avec les paramètres de composition par défaut.J'ai ouvert mon projet que j'ai créé dans Visual Studio 2015. Mon projet utilise la bibliothèque Windows.h mais VS2017 ne peut pas trouver cette bibliothèque et d'autres problèmes. Au début, j'installe les composants manquants (SDK 10 ... etc.). Une partie des problèmes a disparu, mais windows.h n'est toujours pas trouvé. Le problème a été résolu en désinstallant complètement VS2017 puis en l'installant avec toutes les options en même temps.

0
Serg Tsaregorodtsev