Impossible de trouver corecrt.h: $(UniversalCRT IncludePath) est erroné

je viens d'installer Visual Studio 2015 sur mon ordinateur portable avec Windows 10.

j'ai cloné un dépôt avec une solution créée avec la même version de Visual Studio (update 3) sur un autre PC, toujours avec windows 10.

quand j'essaie de construire la solution sur mon ordinateur portable, j'obtiens l'erreur suivante:

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

Dans cette page j'ai lu que je dois ajouter que $(UniversalCRT_IncludePath) à mon inclure les chemins, mais même dans ce cas, j'obtiens la même erreur.

j'ai vérifié et $(UniversalCRT_IncludePath) se réfère à ce chemin:

C:Program Files (x86)Windows KitsInclude.0.10240.0ucrt

Ce chemin est manquant sur mon ordinateur portable. À la place, j'ai celui-ci:

C:Program Files (x86)Windows KitsInclude.0.10150.0ucrt

il semble donc que la version de fenêtre est différente. C'est probablement vrai, parce que sur mon ordinateur portable je n'ai pas installé le upgrade 1511 windows, alors que dans l'autre pc est tout installé correctement.

ma question Est Comment puis-je me référer au fichier corecrt.h dans les deux pc sans faire un désordre avec les chemins. J'aimerais éviter de relier ces chemins de manière rigide parce qu'ils sont dépendants du pc. et je ne comprends pas pourquoi dans mon ordinateur portable le chemin est erroné considérant qu'il devrait être dépendant du système et non câblé en solution.

comment résoudre ce problème? Je sais que je peux mettre à jour mon ordinateur portable à la même version de windows mais je voudrais l'éviter pour de nombreuses raisons.

-- EDIT

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

C:Program Files (x86)Windows Kits.1Include.0.10240.0ucrt

il a la même version 10.0.10240.0 mais lié à une autre version de windows kit, donc peut-être qu'il y a un problème dans ce cas. Sur mon portable, J'ai aussi Visual Studio 2013, donc peut-être que ça peut venir de là, mais je ne peux pas l'enlever parce que je maintiens un autre projet avec Visual Studio 2013 et je ne peux pas encore l'enlever.

peut-être en studio visuel Dossier 2015 je peux définir explicitement le $(UniversalCRT_IncludePath) dans certains .fichier bat (vcvarsall.bat ou similiar) mais je ne sais pas quel dossier et dans quelle position.

39
demandé sur Jepessen 2016-07-10 11:46:27

11 réponses

Pour Visual Studio 2017, j'ai eu:

  1. Run Visual Studio Installer.
  2. sélectionner le bouton Modifier.
  3. passez à l'onglet" composants individuels".
  4. fait défiler vers le bas jusqu'à"compilateurs, construire des outils et des runtimes".
  5. Tick "Windows Universal CRT SDK".
  6. Install.
70
répondu parsley72 2017-05-11 01:24:23

vous avez probablement déjà corrigé cela, mais si quelqu'un d'autre arrive, j'ai résolu cela en suivant la pointe ici .

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

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

il y a probablement une meilleure façon de le faire, mais pour le réparer super-rapide, cela a très bien fonctionné.

21
répondu Helge S 2017-03-11 16:12:24

j'ai eu le même problème. J'ai essayé les réponses ici. Il ne fonctionnent pas à 100%. Ce que j'ai trouvé, c'est que la boîte à outils VC++ 2015 (x86, x64) est nécessaire pour l'édition communautaire 2017 (que j'utilise maintenant), mais sans ajouter de liens include ou lib.

meilleures salutations.

5
répondu user7869952 2017-04-15 03:49:17

essayez de vérifier les propriétés des projets (Menu Projet > Propriétés). Sous Propriétés de Configuration > Général, puis vérifier la ensemble D'outils de plate-forme et la version Windows SDK (si utilisant ensemble D'outils de plate-forme > VS2015) Après avoir paramétré la plate-forme Toolset = VS2017 et Windows SDK Version = 10.x.x ça a marché pour moi.

5
répondu dvidben 2017-04-24 17:06:16

peut-être qu'il manquait quelque chose lors de l'installation du studio visuel. Vous pouvez vérifier si vous avez oublié de choisir L'ensemble D'outils VC++.

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

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

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

5
répondu simondoo 2017-10-25 10:50:05

Pour moi aide de ce paramètre dans Visual Studio:

  • dans les propriétés du Projet -> VC++ Répertoires -> Inclure des Répertoires -> ouvrir pour le modifier.
  • case à cocher hériter du parent ou du projet par défaut
1
répondu Libor B. 2017-04-25 11:15:31

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

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
répondu JackOLantern 2017-09-07 12:54:41

soit ajouter L'ancien SDK Windows (ex. version 8.1 / Universal) à votre machine(comme décrit par parsley72), ou re-target Project(s) pour utiliser un des SDK (s) Windows installé sur votre ordinateur .

je viens de tomber sur ça avec VS2017 et le re-ciblage a fonctionné. Bien que j'attends toujours une réponse pour savoir si ciblant une nouvelle version de Windows SDK a des effets néfastes .

0
répondu codesniffer 2018-01-11 20:57:02

Je n'ai aucune expérience avec VC++ mais je dois construire ta-lib pour un projet python. Puisque je ne veux pas toucher à quoi que ce soit dans VC Studio mais que j'ai expérimenté avec la programmation C régulière sous Unix, j'ai pris l'approche d'ajouter le chemin d'inclusion directement dans le Makefile; par exemple:

INCPATH = - I"..........\ inclure "- I"..........\src\ta_common "- I"..........\src\ta_abstract "- I"..........\src\ta_abstract\tables "- I"..........\src\ta_abstract\images" - I"C:\Program fichiers (x86)\Windows Kits\10\Include\10.0.10150.0\ucrt "- I"C:\Program fichiers (x86)\Microsoft Visual Studio 14.0\VC\include "

il y a plusieurs Makefiles sous les sous-répertoires donc j'ai dû faire des changements à chacun mais ça fonctionne bien pour moi.

0
répondu roy 2018-03-09 06:39:58

je viens d'obtenir cette erreur en compilant PyTorch sur Windows et en installant Windows Universal CRT SDK ne l'a pas résolu. Après avoir tripoté, il semble qu'il y ait deux causes:

  1. assurez-vous de lancer vcvarsall.chauve. Lorsque vous démarrez VS2017 x64 Native Command Prompt, il exécute ce fichier bat.
  2. mettre vcvars_ver pour corriger la version qui est sur votre machine. Pour trouver la version que vous avez, allez à %PROGRAMFILES(X86)%\Microsoft Visual Studio17\Enterprise\VC\Tools\MSVC\ . Dans ce dossier vous trouverez voir dossier tel que 14.13.26128 . Donc vous mettez vcvars_ver à 14.13.

ci-dessous fragment dans mon fichier de lot montre au-dessus de deux étapes:

set "VS150COMNTOOLS=%PROGRAMFILES(X86)%\Microsoft Visual Studio17\Enterprise\VC\Auxiliary\Build"
call "%VS150COMNTOOLS%\vcvarsall.bat" x64 -vcvars_ver=14.13
0
répondu ShitalShah 2018-07-07 00:26:49

la raison de l'erreur pourrait éventuellement être parce que vous n'avez pas la version mise à jour de windows 10 sdk

vous pouvez également télécharger et installer la fenêtre 10 sdk de manière autonome,

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

j'espère que ça aidera.

0
répondu Khan 2018-09-30 12:47:11