c++ - sirven - VS2015 cl No se pueden encontrar las librerías CRT(stdio.h, ctype.h etc.) al compilar en la línea de comandos
principales librerias en lenguaje c (4)
- He instalado la última versión profesional de VS2015.
- Abrió el símbolo del sistema de Visual Studio y ejecutó vcvars32.bat
- escribió un sencillo programa helloworld.cpp (incluye stdio.h e imprime "hola mundo")
- intentado cl helloworld.cpp
Obtuve el siguiente error:
c:/test>cl helloworld.cpp
Microsoft (R) C/C++ Optimizing Compiler Version 19.00.23026 for x86
Copyright (C) Microsoft Corporation. All rights reserved.
helloworld.cpp
helloworld.cpp(1): fatal error C1083: Cannot open include file: ''stdio.h'': No such file or directory
Las rutas de inclusión establecidas por vcvars32.bat son:
INCLUDE=C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/INCLUDE;C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/ATLMFC/INCLUDE;C:/Program Files (x86)/Windows Kits/10/include/wdf/ucrt;C:/Program Files (x86)/Windows Kits/NETFXSDK/4.6/include/um;C:/Program Files (x86)/Windows Kits/10/include/wdf/shared;C:/Program Files (x86)/Windows Kits/10/include/wdf/um;C:/Program Files (x86)/Windows Kits/10/include/wdf/winrt;C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/INCLUDE;C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/ATLMFC/INCLUDE;C:/Program Files (x86)/Windows Kits/10/include/wdf/ucrt;C:/Program Files (x86)/Windows Kits/NETFXSDK/4.6/include/um;C:/Program Files (x86)/Windows Kits/10/include/wdf/shared;C:/Program Files (x86)/Windows Kits/10/include/wdf/um;C:/Program Files (x86)/Windows Kits/10/include/wdf/winrt;
Tenga en cuenta que las rutas en la variable de entorno son " C: / Archivos de programa (x86) / Windows Kits / 10 / include / wdf / winrt; " etc. Sin embargo, la ubicación real de los archivos es C: / Archivos de programa (x86) / Windows Kits / 10 / include / 10.0.10240.0 / winrt;
¿Estoy haciendo algo mal aquí? Cualquier ayuda muy apreciada.
ps Mi verdadero propósito es construir la biblioteca boost 1.58 (pero tiene el mismo problema que el anterior, así que primero quise aislar el problema).
pps me di cuenta de las siguientes variables de entorno. Pero no puedo cambiarlos.
WindowsSDKLibVersion=wdf/
WindowsSDKVersion=wdf/
En mi caso, agregué estas rutas a la ruta de inclusión adicional:
C: / Archivos de programa (x86) / Microsoft Visual Studio 14.0 / VC / include; C: / Archivos de programa (x86) / Microsoft Visual Studio 14.0 / VC / atlmfc / include; C: / Archivos de programa (x86) / Windows Kits / 10 / Include / 10.0.10586.0 / ucrt; C: / Archivos de programa (x86) / Windows Kits / NETFXSDK / 4.6 / Include / um; C: / Program Files (x86) / Windows Kits / 10 / Include / 10.0.10586.0 / C: / Archivos de programa (x86) / Windows Kits / 10 / Include / 10.0.10586.0 / um; C: / Archivos de programa (x86) / Windows Kits / 10 / Include / 10.0.10586.0 / winrt; $ (IncludePath)
y agregó estas rutas a la ruta lib adicional:
C: / Archivos de programa (x86) / Windows Kits / 10 / Lib / 10.0.10586.0 / um / x86; C: / Archivos de programa (x86) / Windows Kits / 10 / Lib / 10.0.10586.0 / ucrt / x86; $ ( LibraryPath)
Me encontré con un problema similar en VS2017 (15.5.5) al crear proyectos de VC ++ contra Windows SDK 8.1:
C1083 No se puede abrir el archivo de inclusión: ''assert.h'': no existe tal archivo o directorio
La comprobación del Windows 8.1 SDK and UCRT SDK
en el instalador de VS solucionó el problema.
Si tiene instalado WDK (Kit de controladores de Windows - 10.0.26639), tendrá este problema, ya que WDK sobrescribe las rutas de inclusión. Para que esto funcione, debes desinstalar el WDK y debería funcionar.
Mire el problema de Microsoft Connect: https://connect.microsoft.com/VisualStudio/feedback/details/1610302/universalcrt-detection-breaks-when-windows-driver-kit-is-installed
Tuve el mismo problema con Visual Studio 2015 Community Edition + nvidia Nsight para VS 5.1 + CUDA toolkit 7.5.18 + Windows 7 Enterprise SP1 al intentar compilar las muestras. La respuesta de 현 현 resolvió la compilación, por lo que puedo confirmar que agregar estas rutas lib / include haría que el proyecto funcione si no hay otro problema. También asegúrese de tener una instalación completa del IDE de VS, incluidos los archivos de ejecución / tiempo compartido de MSVC necesarios y los archivos de desarrollo de Windows.