如何为 Visual Studio 2019 安装 WDK

我用nmake编译代码提示错误:fatal error U1052: 未找到文件"\makefile.def",经过排查发现是代码依赖WDK,所以研究了一下WDK的安装步骤,下面是具体步骤:

请遵循以下步骤来为你的 VS2019 搭建完整的驱动开发环境:

第 1 步:确认 Visual Studio 2019 工作负载

首先,确保你的 VS2019 已经安装了 "使用 C++ 的桌面开发" 工作负载。这是基础。

  1. 打开 Visual Studio Installer。

  2. 找到你的 Visual Studio 2019 产品,点击 "修改"。

  3. 在 "工作负载" 选项卡中,确保 "使用 C++ 的桌面开发" 已被勾选。

  4. 点击 "修改" 按钮完成更改(如果需要)。

第 2 步:下载并安装 WDK

WDK 是通过一个独立的安装程序分发的,这个安装程序会智能地检测你的 VS2019 并进行集成。

  1. 访问官方下载页面 :

    这是最重要的步骤。前往微软官方文档页面:
    下载 Windows Driver Kit (WDK)

  2. 选择与你的目标系统匹配的版本:

    • 页面会提供最新版本的 WDK 下载链接。

    • 非常重要 :你下载的 WDK 版本必须与你想要编译的驱动程序所目标运行的 Windows 版本兼容。例如,要开发 Win11 驱动,就下载最新的 WDK。

  3. 运行安装程序:

    • 下载完成后,运行 wdksetup.exe。

    • 安装程序会自动检测到你系统已安装的 Visual Studio 2019。

    • 它还会检查并可能会引导你安装所需版本的 Windows SDK(如果尚未安装)。WDK 依赖于特定版本的 Windows SDK,安装程序会帮你处理好这个依赖关系。

    • 跟随安装向导的提示完成安装即可。

第 3 步:验证安装

安装完成后,通过最有效的方法验证:

  1. 打开 Visual Studio 2019。

  2. 点击 "创建新项目"。

  3. 在右侧的搜索框中输入 driver 进行搜索。

  4. 如果你能看到以下模板,说明 WDK 已成功安装并集成:

    • Kernel Mode Driver, Empty (KMDF)

    • Kernel Mode Driver (WDM)

    • User Mode Driver (UMDF)

    • Empty WDM Driver

    https://learn.microsoft.com/zh-cn/windows-hardware/drivers/download-images/vs2019-new-project.png


如果你已经安装了WDK,但之前编译仍出错

考虑到你之前遇到的 nmake 和 makefile.def 的错误,即使安装了WDK,也请务必通过正确的入口启动开发环境:

不要直接从开始菜单打开 Visual Studio 2019 或普通的命令提示符。

  1. 在 开始菜单 中,找到 Visual Studio 2019 的文件夹。

  2. 在其中选择 "x64 Native Tools Command Prompt for VS 2019" 或 "Developer Command Prompt for VS 2019"。

    • 对于驱动开发,强烈推荐使用 x64 Native Tools ...。
  3. 在这个特殊的命令提示符窗口中,导航到你的驱动项目目录。

  4. 再次运行 nmake 命令。

这个特殊的命令提示符已经为你设置好了所有必要的环境变量(包括 PATH, INCLUDE, LIB, NTMAKEENV),所以它能找到 makefile.def 和你需要的所有编译器、链接器。

总结

项目 情况
VS2019 默认带WDK吗? 不带,需要额外安装。
如何安装? 从 微软官方 Learn 站点 下载 wdksetup.exe 并运行。
安装关键点 安装程序会自动集成到已存在的 VS2019 中,并处理 Windows SDK 的依赖。
验证方法 在 VS2019 中创建新项目,能搜到驱动模板即为成功。
运行环境 必须 使用 x64 Native Tools Command Prompt for VS 2019 来运行 nmake 或构建传统驱动项目。

遵循这个流程,你的 VS2019 就能完美地编译驱动程序项目了。

相关推荐
一路向北he4 小时前
trae或者vscode定义了文件,但是文件不亮是灰的
ide·vscode·编辑器
sunburn-17 小时前
Java 排序算法详细教学:从冒泡排序到快速排序
java·开发语言·数据结构·ide·算法
life码农18 小时前
PhpStorm或Pycharm中 如何从某个位置全选文字到文件末尾
ide·pycharm·phpstorm
神一样的老师18 小时前
RA-Eco-RA4M2-100PIN-V2.0 开发环境:VSCode + FSP 从新建工程到点亮 LED
ide·vscode·编辑器
围炉聊科技19 小时前
你从IDE切到ADE了吗?智能体开发环境赛道地图——智能体基建系列
ide·人工智能
passion19 小时前
CnPack IDE专家包发布1.8.1正式版!
ide·delphi·cnpack
霸道流氓气质20 小时前
Graph Studio Web IDE 深度实战:可视化编排、断点调试与生产级运维全指南
运维·前端·ide
凉茶钱1 天前
【吃透C++】static、友元、内部类、匿名对象与拷贝编译器优化全解析
c++·青少年编程·visual studio
阿伟玩不懂1 天前
接入第一个 MCP Server:让 AI 自己看你的数据库
ide·人工智能
下页、再停留2 天前
【C#桌面客户端系列学习-2】在原来窗口基础上打开新窗口
c#·visual studio