VS2022编译项目时遇C1083错误:无法打开ndis.h文件
ndis.h的问题 针对你遇到的Fatal Error C1083: Cannot open include file: 'ndis.h': No such file or directory错误,即便重装WDK仍未解决的情况,可按以下步骤排查修复:
确认WDK与VS2022版本兼容
确保安装的WDK是适配VS2022的版本(需对应Windows 10/11 SDK)。打开VS Installer,在“单个组件”中检查是否勾选了与当前VS2022匹配的“Windows Driver Kit (WDK)”及对应SDK组件,避免安装版本不匹配的WDK。验证项目包含路径配置
右键项目→属性→配置属性→C/C++→常规→附加包含目录,确认已添加WDK的NDIS头文件路径。典型路径为C:\Program Files (x86)\Windows Kits\10\Include\<SDK版本号>\ndis(例如10.0.22621.0),且路径真实存在。检查项目平台工具集设置
在项目属性→配置属性→常规→平台工具集,需选择带WDK的工具集(如WindowsKernelModeDriver10.0),而非普通的v143工具集。普通工具集不会自动引入WDK的头文件与库。确认WDK组件安装完整
打开Windows SDK安装器,选择“修改”,检查“Windows Driver Kit (WDK)”下的Kernel Mode Features、Networking Features等组件是否全部勾选安装,部分NDIS相关组件可能未被默认选中。清理项目缓存并重新生成
删除项目目录下的obj、bin文件夹,在VS中执行“清理解决方案”,再重新生成项目,避免旧缓存导致的路径识别异常。排查自定义路径冲突
若项目中配置了自定义包含路径,需确保WDK的路径优先级高于其他自定义路径,或不存在与ndis.h同名的文件干扰识别。
内容的提问来源于stack exchange,提问作者Kaustubh Dwivedi

