未解析的外部符号 __stdio_common_vswprintf

unresolved external symbol __stdio_common_vswprintf

我正在编译使用 Microsoft 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“关于”windows):

第二个奇怪的是,我已经下载并安装了WDK 10.0.19041.685,但是VS仍然显示10.0.19030.1000 ...

可以在这里找到类似的问题:Linker error when compiling windows kernel mode driver x64但尚未解决。

在包含任何 headers:

之前设置此定义
#define _NO_CRT_STDIO_INLINE

或者在编译器的命令行中加入:

-D_NO_CRT_STDIO_INLINE

我们(Microsoft driver 团队)正在调查此问题,以了解是否需要此类解决方法。