VS2019项目构建失败:无法找到windows.h文件求助
问题描述
VS2019中名为ThisIsMostCertainlyTrue的项目,构建Win32 Debug/Release版本时稳定失败,报错如下:
Build started...
1>------ Build started: Project: ThisIsMostCertainlyTrue, Configuration: Debug Win32 ------
1>C:\My Documents\Rob\AppsForWin_vs2019_GENERIC\GenericCodeResources\GenericMenuDefines.h(30):
fatal error RC1015: cannot open include file 'windows.h'.
1>
1>Done building project "ThisIsMostCertainlyTrue.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
其他VS2019项目构建正常,已尝试清理重建、重启IDE/电脑、重装VS、对比项目属性等常规操作,问题未解决。
针对性解决方案
检查资源编译器的包含路径
右键项目→属性→配置属性→资源→常规→附加包含目录,确认已包含Windows SDK的头文件路径(如$(WindowsSdkDir)include\$(WindowsSDKVersion)\um、$(WindowsSdkDir)include\$(WindowsSDKVersion)\shared),直接复制其他正常项目的该字段内容进行替换测试。确认Windows SDK版本与预编译宏
- 项目属性→配置属性→常规→Windows SDK版本,确保与其他正常项目使用的版本一致;若版本异常,通过VS Installer重新安装对应SDK。
- 切换至资源→预处理器→预处理器定义,确认包含
WIN32;$(RC_DEFINES),缺少则手动添加。
检查项目文件(vcxproj)的资源编译配置
直接用文本编辑器打开ThisIsMostCertainlyTrue.vcxproj,对比正常项目的<ResourceCompile>节点,确保包含正确的包含目录与预定义宏。示例正常配置:<ResourceCompile> <PreprocessorDefinitions>WIN32;_DEBUG;$(RC_DEFINES)</PreprocessorDefinitions> <AdditionalIncludeDirectories>$(WindowsSdkDir)include\$(WindowsSDKVersion)\um;$(WindowsSdkDir)include\$(WindowsSDKVersion)\shared;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories> </ResourceCompile>若当前项目该节点缺失或配置错误,手动修正后保存,重新加载项目构建。
排查资源文件的单独配置
若项目中有特定的.rc资源文件引用了GenericMenuDefines.h,右键该资源文件→属性→资源,确认其附加包含目录、预处理器定义与项目全局配置一致,避免单独设置覆盖了全局路径。
内容的提问来源于stack exchange,提问作者The Bard of Chelsea

