如何为 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 就能完美地编译驱动程序项目了。

相关推荐
丑大王13 小时前
ultralytics 环境安装与正确使用Vscode
ide·yolo·编辑器
lhh_qrsly16 小时前
TI CCS(Code Composer Studio,德州仪器嵌入式 IDE)2015~2026 版本总览
ide·php·composer
1024奇点2 天前
【仓颉语言入门 · 第二篇 第 8 课】
开发语言·数据库·ide·mysql·开源
xiaoye-duck2 天前
《C++ 项目:手写大模型接入 SDK》Trae IDE 开发环境搭建与依赖管理
c++·ide·语言模型
H.莓飛2 天前
【Linux】自主 Shell
linux·运维·服务器·c语言·开发语言·visual studio
一只笨菜鸟2 天前
IDEA如何让多个项目同时显示
java·ide·intellij-idea
哎写bug的程序员2 天前
关于VSCode上gcc,gdb的安装配置问题
ide·vscode·编辑器
旺旺的碎冰冰~3 天前
VScode解决终端输出中文乱码问题
ide·vscode·编辑器
devilnumber3 天前
避坑_IDEA 提取方法(Extract Method)工具
java·ide·intellij-idea
下页、再停留3 天前
【C#桌面客户端系列学习-11】将SQLite数据库打包到exe里
数据库·c#·visual studio