Hoy es oficialmente mi primer día con C++: Perror grave C1083: No se puede abrir archivo de inclusión: 'Windows.h': y scons
He descargado Visual C++ 2005 Express Edition y Microsoft Platform SDK para Windows Server 2003 SP1, porque quiero poner mis manos en el código abierto Enso Project.
Por lo tanto, después de instalar scons Fui a la consola y trataron de compilarlo usando scons, pero me dio este error:
C:\oreyes\apps\enso\enso-read-only\src\platform\win32\Include\WinSdk.h(64) : fatal error C1083: Cannot open include file: 'Windows.h': No such file or directory
scons: *** [src\platform\win32\InputManager\AsyncEventProcessorRegistry.obj] Error 2
scons: building terminated because of errors.
Después de comprobar estos enlaces:
He conseguido configurar la instalación de la siguiente manera:
alt text http://img404.imageshack.us/img404/9210/vcdirsdq7.png
e incluso ejecutar este script
alt text http://img404.imageshack.us/img404/5895/registrationcn0.png
Y logré compilar el archivo a continuación en el IDE.
// Test.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include <Windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}
Pero sigo recibiendo esa excepción en la consola. ¿Alguien tiene experiencia con scons?
EDITAR
En realidad (y se me olvidó decirte esto) Empecé el símbolo del sistema con el enlace de "Visual Studio 2005 Símbolo del sistema".
Supongo que esto incluirá las rutas en las variables de entorno. Bien después de imprimirlas Me parece que no lo hizo:
echo %INCLUDE%
echo %LIB%
echo %PATH%
y no estaban presentes, así que creé este archivo .bat:
set PATH=%PATH%;"C:\Program Files\Microsoft Platform SDK\Bin"
set INCLUDE=%INCLUDE%;"C:\ Program Files\Microsoft Platform SDK\Include"
set LIB=%LIB%;"C:\ Program Files\Microsoft Platform SDK\Lib"
Aún así, no scons seeems tomar las vars. .. :(
: S ¿Cómo agrego manualmente las variables de entorno al proceso de compilación de scons directamente? – OscarRyz
Hay dos formas. Supongamos que tiene la ruta SDK en la variable python mssdk, luego puede agregar las rutas usando env.Prepend (CPPPATH, [os.path.join (mssdk, "Include")]) y env.Prepend (LIBPATH, [os .path.join (mssdk, "libpath")]) –
Otra forma es simplemente importar el entorno en scons: env = Environment (ENV = os.environ). Entonces, scons usará cualquier modificación de entorno que haga en el shell (shell de DOS aquí en Windows). –