fatal error C1083: Cannot open include file: 'windows.h': No such file or directory

本文详细描述了在更新WindowsSDK后,使用VS2008进行C++项目编译时遇到的致命错误fatalerrorC1083: Cannot open include file: 'windows.h': No such file or directory的解决方法。通过调整注册表配置和重启VS2008,成功解决了问题。

更新Windows SDK后,原来可以编译通过的VS 2008 C++ project出现编译错误:

fatal error C1083: Cannot open include file: 'windows.h': No such file or directory

问题调查:

选择Project->Property->Configuration Properties->C/C++->General->Additional Include Directories,点击右侧"..."按钮打开窗口,发现已配置了"Inherit from parent or project defaults". 点击"Macros>>"按钮展开发现"WindowsSdkDir"指向了一个并不存在的路径"C:\Program Files\Microsoft SDKs\Windows\v6.0".

在VS 2008安装目录下搜索"WindowsSdkDir",发现这个配置可能是从注册表获取的。

打开注册表编辑器,发现这个错误值配置在HKEY_CURRENT_USER\Software\Microsoft\Microsoft SDKs\Windows下;另外HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows也有相同的键,对应的值是正确的。

解决办法:

打开注册表编辑器,删除HKEY_CURRENT_USER\Software\Microsoft\Microsoft SDKs,重新启动VS 2008。

### 回答1: 这个错误提示是在编译程序时出现的,意思是找不到 windows.h 文件或目录。windows.h 是 Windows 操作系统的头文件之一,包含了一些系统函数和常量的定义。可能是因为编译器没有找到该文件或者该文件路径不正确导致的。需要检查编译器的设置和文件路径是否正确。 ### 回答2: fatal error: windows.h: 没有那个文件或目录,是当你在使用C/C++编写Windows程序时,常出现的一个错误。这个错误提示表明编译器无法找到Windows操作系统的头文件 windows.h,这个头文件是Windows API的一部分,它包含了很多Windows操作系统函数的定义和声明。造成这个错误的原因可能有很多: 1. Windows SDK没有正确安装:Windows SDK是Windows开发人员所必需的一个开发工具包,它包含了所有用于Windows程序开发的API、库、头文件、工具等。如果你没有正确地安装Windows SDK,那么编译器就找不到windows.h头文件。 2. 缺少Windows.h文件:如果你删除了Windows SDK或者手动删除了windows.h文件,那么编译器就无法找到它了。 3. 你的编译器不支持Windows程序:在Linux或者Mac OS等一些操作系统上,一些编译器是不支持Windows程序开发的,这时你需要使用交叉编译或者更换编译器。 解决这个问题的方法也很简单: 1. 安装Windows SDK:你可以从Microsoft官网下载并安装Windows SDK,确保它正确地安装在你的计算机上。 2. 添加Windows SDK的include路径:如果你已经安装了Windows SDK,但是编译器还是找不到windows.h文件,那么你需要手动添加Windows SDK的include路径。具体步骤为:在你的编译器中找到include路径选项,添加Windows SDK中的include文件夹所在路径。 3. 更换编译器:如果你的编译器不支持Windows程序开发,那么你需要更换一个支持的编译器。常用的Windows编译器有Visual Studio、MinGW、Dev-C++等,选择一个合适的编译器即可。 总之,fatal error: windows.h: 没有那个文件或目录这个错误不是很复杂,只需要按照上述方法一步步排查和解决就可以了。在Windows程序开发过程中,及时备份和维护Windows SDK是非常重要的,这样可以有效地避免这种错误的出现。 ### 回答3: 这个错误表示在编译时无法找到Windows头文件。Windows.h是一个包含许多Windows API功能的头文件,编译器使用它来编译Windows应用程序。如果编译器无法找到此文件,通常意味着Windows SDK没有安装或配置不正确。 要解决此问题,可以尝试以下几个步骤: 1.检查Windows SDK是否已安装。如果没有安装,请安装Windows SDK,然后确保SDK的路径已添加到编译器的include路径中。可以在控制面板中找到Windows SDK。 2.检查编译器的include路径是否正确配置。应该包括Windows SDK的路径。 3.如果您使用的是Visual Studio,则可以尝试从“项目属性”对话框中更改“平台工具集”版本。有时,您可能需要选择可用的另一个版本。 4.尝试将相关文件的路径手动添加到项目文件中的附加包含目录中。这可以通过右键单击项目名称,选择“属性”>“C/C++”>“常规”>“附加包含目录”来完成。 总之,解决此问题的关键是确保Windows SDK正确安装且编译器正确配置,以便能够找到Windows.h头文件。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值