今天正式是我使用C++的第一天:P
我已经下载了适用于Windows Server 2003 SP1的Visual C++ 2005 Express Edition和Microsoft Platform SDK,因为我想了解开源的Enso Project.
所以,在安装scons之后我去了控制台并尝试使用scons编译它,但是我收到了这个错误:
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.
检查这些链接后:
VS和PSDK
包括tiffi.h
Wndows.h
我设法像这样配置我的安装:
甚至运行这个脚本
我设法在IDE中编译下面的文件.
// Test.cpp : Defines the entry point for the console application. // #include "stdafx.h" #includeint _tmain(int argc, _TCHAR* argv[]) { return 0; }
但我仍然在控制台中得到了这个例外.有没有人有scons经验?
编辑
实际上(我忘了告诉你)我用"Visual Studio 2005命令提示符"链接启动了命令提示符.
我假设这将包括环境变量中的路径.打印后我发现它没有:
echo %INCLUDE% echo %LIB% echo %PATH%
它们不存在,所以我创建了这个.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"
仍然,scons似乎不采取变量...... :(
使用上述建议不适用于scons:scons不会导入用户环境(PATH和其他变量).根本问题是scons不处理最新版本的SDK/VS.
我是scons的偶尔撰稿人,我正在研究这个功能ATM.希望它很快会被包含在scons中,但是这个功能比我的预期更难实现,部分原因是每个sdk /编译器组合都不同(有时甚至MS都没有正确使用它们的一些.bat文件坏了),所以我不能给你约会.我希望它将被包含在1.2中(将在大约一个月内发布).