web-dev-qa-db-fra.com

Impossible de trouver corecrt.h: $ (UniversalCRT_IncludePath) est incorrect

Je viens d'installer Visual Studio 2015 sur mon ordinateur portable sous Windows 10.

J'ai cloné un référentiel avec une solution créée avec la même version de Visual Studio (mise à jour 3) sur un autre PC, toujours avec Windows 10.

Lorsque j'essaie de générer la solution sur mon ordinateur portable, j'obtiens le message d'erreur suivant:

c:\program files (x86)\Microsoft visual studio 14.0\vc\include\crtdefs.h(10): fatal error C1083: Cannot open include file: 'corecrt.h': No such file or directory

Dans cette page j'ai lu que je devais ajouter $(UniversalCRT_IncludePath) à mes chemins d'inclusion, mais même dans ce cas j'obtiens la même erreur.

J'ai vérifié et $(UniversalCRT_IncludePath) fait référence à ce chemin:

C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt

Ce chemin manque sur mon ordinateur portable. Au lieu de cela, j'ai celui-ci:

C:\Program Files (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt

Il semble donc que la version de fenêtre est différente. C’est probablement vrai, car sur mon ordinateur portable, je n’ai pas installé la mise à niveau 1511 de Windows, alors que l’autre ordinateur est correctement installé.

Ma question est de savoir comment puis-je faire référence au fichier corecrt.h dans les deux ordinateurs sans faire de dégâts avec les chemins. Je voudrais éviter de lier durablement ces chemins car ils sont dépendants du pc. et je ne comprends pas pourquoi, dans mon ordinateur portable, le chemin d'accès est erroné, étant donné qu'il devrait dépendre du système et ne pas être câblé dans la solution.

Comment puis-je résoudre ce problème? Je sais que je peux mettre à jour mon ordinateur portable avec la même version de Windows, mais j'aimerais bien l'éviter pour de nombreuses raisons.

-- MODIFIER

J'ai remarqué que j'ai ce chemin:

C:\Program Files (x86)\Windows Kits\8.1\Include\10.0.10240.0\ucrt

Il a la même version 10.0.10240.0 mais lié à une autre version du kit Windows, alors il y a peut-être un problème dans ce cas. Sur mon ordinateur portable, j'ai également Visual Studio 2013, alors peut-être que cela peut en provenir, mais je ne peux pas le supprimer car je gère un autre projet avec Visual Studio 2013 et je ne peux pas le supprimer pour le moment.

Peut-être que dans le dossier Visual Studio 2015, je peux définir explicitement la $(UniversalCRT_IncludePath) dans un fichier .bat (vcvarsall.bat ou similaire), mais je ne sais pas quel fichier ni à quelle position.

47
Jepessen

Pour Visual Studio 2017, je devais:

  1. Exécutez le programme d'installation de Visual Studio.
  2. Sélectionnez le bouton Modifier.
  3. Allez à l'onglet "Composants individuels".
  4. Faites défiler jusqu'à "Compilateurs, outils de compilation et d'exécution".
  5. Cochez "Windows Universal CRT SDK".
  6. Installer.
88
parsley72

vous avez probablement déjà résolu ce problème, mais si quelqu'un d'autre se présente, je résous le problème en suivant le conseil ici .

Définissez essentiellement les variables d'environnement système suivantes:

INCLUDE="C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt"
LIB="C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\um\x64;C:\Program Files (x86)\Windows Kits\10\Lib\10.0.10240.0\ucrt\x64"

Il existe probablement un meilleur moyen de le faire selon les pratiques optimales, mais cela ne fonctionnait que très bien. 

22
Helge S

J'ai eu le même problème. J'ai essayé les réponses ici. Cela n'a pas fonctionné à 100%. Ce que j’ai trouvé, c’est que le jeu d’outils VC++ 2015 (x86, x64) est nécessaire pour l'édition 2017 de Community Edition (que j'utilise actuellement), mais sans ajouter de liens include ou lib.

Meilleures salutations.

6
user7869952

Essayez de vérifier les propriétés du projet (Menu Projet> Propriétés). Sous Propriétés de configuration> Général, vérifiez ensuite la Platform Toolset et la version du SDK Windows (si vous utilisez Platform Toolset> VS2015). moi.

5
dvidben

Il se peut qu’il manque quelque chose lors de l’installation de Visual Studio . Vous pouvez vérifier si vous avez oublié de choisir les outils VC++.

  1. Control Panel -> All Control Panel Items -> Programs and Features -> Visual studio 2015
  2. Cliquez sur change/uninstall
  3. Choisissez la VC++2015 toolset(x86,x64) et installez.

Pour Visual Studio Community 2017 RC (15.0.26206.0), le nom de l'outil facultatif est VC++ 2017 v141 toolset(x86,x64):

 `VC++ 2017 v141 toolset(x86,x64)

5
simondoo

Pour Visual Studio 2015 Enterprise, j'ai résolu le problème de la même manière que persil72:

1. Run the Visual Studio Installer;
2. Select Modify button;
3. Go to "Windows and Web Development";
4. Tick "Universal Windows App Development Tools";
5. Install.
1
JackOLantern

Pour moi, cela aide dans Visual Studio: 

  • dans Propriétés du projet -> Répertoires VC++ -> Répertoires inclus -> ouvert pour modification.
  • cocher la case Hériter des valeurs par défaut du parent ou du projet
1
Libor B.

Je viens de recevoir cette erreur lors de la compilation de PyTorch sous Windows et de l'installation de Windows Universal CRT SDK. Après avoir bricolé, il semble y avoir deux causes:

  1. Assurez-vous que vous exécutez vcvarsall.bat. Lorsque vous démarrez l’invite de commande native VS2017 x64, il exécute ce fichier bat.
  2. Définissez vcvars_ver sur la version correcte installée sur votre ordinateur. Pour trouver la version que vous avez, allez à %PROGRAMFILES(X86)%\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\. Dans ce dossier, vous verrez un dossier tel que 14.13.26128. Donc, vous définissez vcvars_ver à 14.13.

Le fragment ci-dessous dans mon fichier de commandes montre les deux étapes ci-dessus:

set "VS150COMNTOOLS=%PROGRAMFILES(X86)%\Microsoft Visual Studio\2017\Enterprise\VC\Auxiliary\Build"
call "%VS150COMNTOOLS%\vcvarsall.bat" x64 -vcvars_ver=14.13
0
Shital Shah

Je n'ai aucune expérience avec VC++ mais je dois construire ta-lib pour un projet python. Puisque je ne veux rien toucher dans VC Studio, mais que je connais bien la programmation C régulière sous Unix, j'ai choisi d’ajouter le chemin d’inclusion directement dans le fichier Makefile; par exemple.:

INCPATH = -I "..........\include" -I "..........\src\ta_common" -I "..........\src\ta_abstract "-I" ..........\src\ta_abstract\tables "-I" ..........\src\ta_abstract\frames " -I" C :\Program Files (x86)\Kits Windows\10\Include\10.0.10150.0\ucrt "-I" C:\Fichiers de programme (x86)\Microsoft Visual Studio 14.0\VC\include "

Il y a plusieurs Makefiles dans des sous-répertoires, donc j'ai dû modifier chacun d'entre eux, mais ça fonctionne très bien pour moi.

0
hwase0ng

Ajoutez l’ancien SDK Windows (ex. Version 8.1/Universal) à votre ordinateur (comme décrit dans le document persil72), ou ciblez à nouveau le ou les projets pour qu’il utilise l’un des SDK Windows installés sur votre ordinateur .

Je viens de rencontrer ceci avec VS2017 et le re-ciblage a fonctionné. J'attends toujours la réponse pour savoir si le fait de cibler une version plus récente du SDK Windows a des effets pervers .

0
codesniffer

Je résous cette erreur à la prochaine 3 étape.

1) Tous les fichiers de:

C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\um\x86
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\ucrt\x86

Copier:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\VS\lib\x86

2) Tous les fichiers de:

C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\um\x64
C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\ucrt\x64

Copier:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\VS\lib\x64

3) Tous les fichiers de:

C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt

Copier: 

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\VS\include

Ensuite, je reconstruis mon projet et tout fonctionne correctement

0
Ден Денис

La raison de l'erreur pourrait peut-être être parce que vous n'avez pas la version mise à jour de Windows 10 sdk

vous pouvez également télécharger et installer window 10 sdk de manière autonome,

en utilisant ce lien windows 10 sdk , et ajoutez-le à votre chemin système

j'espère que ça aide.

0
Khan