我正在编译一个使用微软Dmf框架(DmfK.lib)的内核模式驱动程序。
在最后一次Visual Studio更新后出现了一些奇怪的链接器错误:
EmulationTargetPDO.obj : error LNK2019: unresolved external symbol __stdio_common_vswprintf referenced in function _vsnwprintf_l
Utilities.lib(savedata.obj) : error LNK2001: unresolved external symbol __stdio_common_vswprintf
DmfK.lib(DmfUtility.obj) : error LNK2001: unresolved external symbol __stdio_common_vswprintf
EmulationTargetPDO.obj : error LNK2019: unresolved external symbol __stdio_common_vsprintf referenced in function _vsnprintf_l
DmfK.lib(DmfCore.obj) : error LNK2001: unresolved external symbol __stdio_common_vsprintf
DmfK.lib(Dmf_CrashDump.obj) : error LNK2019: unresolved external symbol __stdio_common_vsprintf_s referenced in function _vsprintf_s_l
以下是我使用的软件和工具包版本(在VS“关于”窗口中显示):
- Microsoft Visual Studio Professional 2019 版本16.10.0
- Windows SDK 10.0.19041.685
- Windows Driver Kit 10.0.19030.1000
第二个奇怪的问题是,我已经下载并安装了 WDK 10.0.19041.685,但 VS 仍然显示 10.0.19030.1000 ...
类似的问题可以在这里找到:编译 Windows 内核模式驱动程序 x64 时出现链接器错误,但尚未解决。