如何为 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,但之前编译仍出错

考虑到你之前遇到的 nmakemakefile.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 就能完美地编译驱动程序项目了。

相关推荐
小蕾Java13 小时前
PyCharm快速上手指南,数据类型篇
ide·python·pycharm
Yupureki19 小时前
从零开始的C++学习生活 2:类和对象(上)
c语言·开发语言·c++·学习·visual studio
Yupureki1 天前
从零开始的C++学习生活 1:命名空间,缺省函数,函数重载,引用,内联函数
c语言·开发语言·c++·学习·visual studio
moshumu11 天前
局域网访问Win11下的WSL中的jupyter notebook
ide·python·深度学习·神经网络·机器学习·jupyter
Aevget1 天前
PHP智能开发工具PhpStorm v2025.2全新上线——支持PHPUnit 12等
开发语言·ide·php·phpstorm
拾光Ծ1 天前
【C++】STL之list模拟实现:关于链表容器的双向迭代器你知道多少?
开发语言·数据结构·c++·list·visual studio
矜辰所致2 天前
沁恒微 RISC-V 芯片开发工具 MounRiver Studio 使用
ide·沁恒微·开发工具·risc-v·mrsii
weixin_436525072 天前
Gitee - IDEA 主支 master 和分支 dev 的使用
java·ide·intellij-idea
小蕾Java2 天前
Java 开发工具,最新2025 IDEA 使用
java·ide·intellij-idea
是席木木啊2 天前
Idea升级到2024版本:“marketplace plugins are not loaded”解决方案
java·ide·intellij-idea