You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Windows SDK 10.0.20348构建内核驱动:找不到ntoskrnl.lib?

问题描述

尝试使用Windows SDK 10.0.20348构建Windows内核驱动时,编译链接阶段报错无法找到指定路径的ntoskrnl.lib,错误信息如下:

fatal error LNK1181: cannot open input file 'C:\Program Files (x86)\Windows Kits\10\lib\10.0.20348.0\km\x64\ntoskrnl.lib'

对比Windows SDK 10.0.19041版本,该库存在于多个架构的内核模式库目录下,查找结果如下:

$ find /cygdrive/c/Program\ Files\ \(x86\)/ -iname ntoskrnl.lib -ls
281474977350513    836 -rwxr-x---   1 SYSTEM   SYSTEM     852788 Dec  1  2020 /cygdrive/c/Program\ Files\ (x86)/Windows\ Kits/10/Lib/10.0.19041.0/km/arm/ntoskrnl.lib
281474977350489    768 -rwxr-x---   1 SYSTEM   SYSTEM     783006 Dec  1  2020 /cygdrive/c/Program\ Files\ (x86)/Windows\ Kits/10/Lib/10.0.19041.0/km/arm64/ntoskrnl.lib
281474977347929    820 -rwxr-x---   1 SYSTEM   SYSTEM     839508 Dec  2  2020 /cygdrive/c/Program\ Files\ (x86)/Windows\ Kits/10/Lib/10.0.19041.0/km/x64/ntoskrnl.lib
281474977348046    872 -rwxr-x---   1 SYSTEM   SYSTEM     892218 Dec  2  2020 /cygdrive/c/Program\ Files\ (x86)/Windows\ Kits/10/Lib/10.0.19041.0/km/x86/ntoskrnl.lib
281474977349408    668 -rwxr-x---   1 SYSTEM   SYSTEM     682044 Nov  2  2020 /cygdrive/c/Program\ Files\ (x86)/Windows\ Kits/10/Lib/win7/km/x64/ntoskrnl.lib
281474977349328    704 -rwxr-x---   1 SYSTEM   SYSTEM     719922 Jun 23  2020 /cygdrive/c/Program\ Files\ (x86)/Windows\ Kits/10/Lib/win7/km/x86/ntoskrnl.lib
281474977349511    712 -rwxr-x---   1 SYSTEM   SYSTEM     728936 Jun 20  2020 /cygdrive/c/Program\ Files\ (x86)/Windows\ Kits/10/Lib/win8/km/arm/ntoskrnl.lib
281474977349615    644 -rwxr-x---   1 SYSTEM   SYSTEM     655438 Nov  2  2020 /cygdrive/c/Program\ Files\ (x86)/Windows\ Kits/10/Lib/win8/km/x64/ntoskrnl.lib
281474977349633    672 -rwxr-x---   1 SYSTEM   SYSTEM     687918 Jun 23  2020 /cygdrive/c/Program\ Files\ (x86)/Windows\ Kits/10/Lib/win8/km/x86/ntoskrnl.lib
281474977349751    732 -rwxr-x---   1 SYSTEM   SYSTEM     746102 Jun 20  2020 /cygdrive/c/Program\ Files\ (x86)/Windows\ Kits/10/Lib/winv6.3/km/arm/ntoskrnl.lib
281474977349955    664 -rwxr-x---   1 SYSTEM   SYSTEM     679632 Nov  2  2020 /cygdrive/c/Program\ Files\ (x86)/Windows\ Kits/10/Lib/winv6.3/km/x64/ntoskrnl.lib
281474977349835    736 -rwxr-x---   1 SYSTEM   SYSTEM     752656 Dec  2  2020 /cygdrive/c/Program\ Files\ (x86)/Windows\ Kits/10/Lib/winv6.3/km/x86/ntoskrnl.lib

请问是10.0.20348版本不再支持ntoskrnl.lib,还是遗漏了某些配置?


解决方案

10.0.20348版本并未移除ntoskrnl.lib,问题出在内核驱动开发所需的库并未包含在基础Windows SDK中,需要单独安装对应版本的Windows Driver Kit(WDK)。

具体排查步骤:

  • 检查WDK安装状态:打开Visual Studio Installer,查看已安装的工作负载中是否包含"Windows Driver Kit - Windows 10.0.20348.0";若未安装,补充勾选该组件并完成安装,也可以通过独立的WDK安装包进行安装。
  • 验证库路径配置:安装完成后,打开驱动项目的属性设置,进入链接器 -> 常规 -> 附加库目录,确认是否添加了路径C:\Program Files (x86)\Windows Kits\10\Lib\10.0.20348.0\km\x64(根据你的目标架构调整x64为对应平台)。
  • 确认环境变量:检查系统环境变量LIB是否包含上述库目录,若未包含,手动添加后重启Visual Studio。

之前的10.0.19041版本可能是因为你同时安装了SDK和对应WDK组件,所以能找到该库;而10.0.20348仅安装了基础SDK,缺少内核驱动开发的必要库文件。


内容的提问来源于stack exchange,提问作者Roland Mainz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 20:46:09