visual-studio-2015 include include-path

visual studio 2015 - No se puede encontrar corecrt.h: $(UniversalCRT_IncludePath) está mal



visual-studio-2015 include-path (14)

Acabo de recibir este error al compilar PyTorch en Windows e instalar Windows Universal CRT SDK no lo resolvió. Después de jugar, parece que hay dos causas:

  1. Asegúrese de ejecutar vcvarsall.bat. Cuando inicia el símbolo del sistema nativo VS2017 x64, ejecuta este archivo bat.
  2. Establezca vcvars_ver para corregir la versión que está en su máquina. Para encontrar la versión que tiene, vaya a %PROGRAMFILES(X86)%/Microsoft Visual Studio/2017/Enterprise/VC/Tools/MSVC/ . Dentro de esta carpeta verá carpetas como 14.13.26128 . Entonces configura vcvars_ver a 14.13.

El fragmento a continuación en mi archivo por lotes muestra los dos pasos anteriores:

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

Acabo de instalar Visual Studio 2015 en mi computadora portátil con Windows 10.

He clonado un repositorio con una solución creada con la misma versión de Visual Studio (actualización 3) en otra PC, siempre con Windows 10.

Cuando trato de construir la solución en mi computadora portátil obtengo el siguiente error:

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

En esta página he leído que debo agregar $(UniversalCRT_IncludePath) a mis rutas de inclusión, pero incluso en este caso obtengo el mismo error.

Lo he comprobado y $(UniversalCRT_IncludePath) refiere a esta ruta:

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

Este camino falta en mi computadora portátil. En cambio, tengo este:

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

Entonces parece que la versión de la ventana es diferente. Probablemente esto sea cierto, porque en mi computadora portátil no instalé la actualización de Windows 1511, mientras que en la otra PC está instalada correctamente.

Mi pregunta es cómo puedo referirme al archivo corecrt.h en ambas PC sin hacer un lío con las rutas. Me gustaría evitar vincular estos caminos porque dependen de la PC. y no entiendo por qué en mi computadora portátil el camino es incorrecto teniendo en cuenta que debería depender del sistema y no estar conectado a la solución.

¿Cómo puedo resolver este problema? Sé que puedo actualizar mi computadora portátil a la misma versión de Windows, pero me gustaría evitarla por muchas razones.

- EDITAR

Me di cuenta de que tengo este camino:

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

Tiene la misma versión 10.0.10240.0 pero está relacionada con otra versión del kit de Windows, por lo que tal vez haya algún problema en este caso. En mi computadora portátil también tengo Visual Studio 2013, por lo que tal vez pueda provenir de él, pero no puedo eliminarlo porque estoy manteniendo otro proyecto con Visual Studio 2013 y todavía no puedo eliminarlo.

Tal vez en la carpeta Visual Studio 2015 puedo establecer explícitamente $(UniversalCRT_IncludePath) en algún archivo .bat (vcvarsall.bat o similar) pero no sé qué archivo y en qué posición.



El SDK de Windows que seleccionó en su proyecto no está instalado .

Instale el SDK que desee o seleccione uno de los instalados (nota: si selecciona la opción <heredar del padre> , la configuración predeterminada será 8.1 , que no está instalada de forma predeterminada en VS 2017+)

Para instalar el SDK de Windows, ejecute el instalador, vaya a Componentes individuales y desplácese hasta el final:


Intente verificar las propiedades del proyecto (Menú Proyecto> Propiedades). En Propiedades de configuración> General, luego verifique el Juego de herramientas de la plataforma y la Versión del SDK de Windows (si usa el Juego de herramientas de la plataforma> VS2015) Después de configurar el Juego de herramientas de la plataforma = VS2017 y la Versión del SDK de Windows = 10.xx, funcionó para mí.


La razón del error podría deberse a que no tiene la versión actualizada de Windows 10 SDK

También puede descargar e instalar Windows 10 SDK de forma autónoma,

usando este enlace Windows 10 SDK y agréguelo a la ruta de su sistema

Espero eso ayude.


No tengo experiencia con VC ++ pero tengo que construir ta-lib para un proyecto de Python. Como no quiero tocar nada en VC Studio pero tengo experiencia con la programación regular de C en Unix, he tomado el enfoque de agregar la ruta de inclusión directamente en el Makefile; p.ej:

INCPATH = -I ".......... / include" -I ".......... / src / ta_common" -I ".......... / src / ta_abstract "-I" .......... / src / ta_abstract / tables "-I" .......... / src / ta_abstract / frames " -I" C: / Archivos de programa (x86) / Windows Kits / 10 / Include / 10.0.10150.0 / ucrt "-I" C: / Archivos de programa (x86) / Microsoft Visual Studio 14.0 / VC / include "

Hay varios Makefiles debajo de los subdirectorios, así que tuve que hacer cambios en cada uno, pero funciona bien para mí.


Para Visual Studio 2015 Enterprise , resolví el problema de manera similar a 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.


Para Visual Studio 2017 tuve que:

  1. Ejecute el instalador de Visual Studio.
  2. Seleccione el botón Modificar.
  3. Vaya a la pestaña "Componentes individuales".
  4. Desplácese hacia abajo a "Compiladores, herramientas de construcción y tiempos de ejecución".
  5. Marque "Windows Universal CRT SDK".
  6. Instalar.

Para mí ayuda a esta configuración en Visual Studio:

  • en Propiedades del proyecto -> Directorios VC ++ -> Incluir directorios -> abrir para editar.
  • marque la casilla de verificación Heredar de los valores predeterminados del proyecto principal

Probablemente ya haya solucionado esto, pero si alguien más viene, lo resolví siguiendo el consejo here .

Básicamente, establezca las siguientes variables de entorno del sistema:

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"

Probablemente haya una forma de práctica recomendada mucho mejor, pero solo por solucionarlo súper rápido, funcionó muy bien.


Resuelvo este error en los siguientes 3 pasos.

1) Todo el archivo 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

Copiar a:

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

2) Todos los archivos 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

Copiar a:

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

3) Todos los archivos de:

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

Copiar a:

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

Luego reconstruyo mi proyecto y todo funciona correctamente


Tal vez faltaba algo al instalar Visual Studio. Puede verificar si olvidó elegir el conjunto de herramientas VC ++.

  1. Control Panel -> All Control Panel Items -> Programs and Features -> Visual studio 2015
  2. Haga clic en change/uninstall
  3. Elija el VC++2015 toolset(x86,x64) e instálelo.

Para Visual Studio Community 2017 RC (15.0.26206.0), el nombre de la herramienta opcional es VC++ 2017 v141 toolset(x86,x64) :


Vuelva a instalar Windows 10 SDK, si le falta Windows SDK o si su contenido cambió, aparecerá este error, se me ocurrirá después de instalar WDK


Yo tuve el mismo problema. Intenté las respuestas aquí. No funcionó al 100%. Lo que encontré es que el conjunto de herramientas VC ++ 2015 (x86, x64) es necesario para la Edición comunitaria 2017 (que estoy usando ahora), pero sin agregar ningún enlace de inclusión o lib.

Atentamente.