最近我们对我们的云打印模块进行了一些重大的架构更改(即多线程支持)。现在我必须对其运行 PreFast 检查,但是因为我们使用的当前版本的 Visual Studio 2008 没有集成 PreFast 检查支持,所以我必须通过 Windows DDK 来完成。
我正在尝试使用 WDK 构建源代码,但出现此错误。
错误 LNK2005:“void _cdecl operator delete(void *)”(?3@YAXPAX@Z) 已在 libcmt.lib (delete.obj) 中定义
我相信libcpmt.lib
在前一阶段使用的链接器与删除方法的定义相同。源代码还混合了不同模块级别的 c 文件和 cpp 文件。libcmp.lib
这可能是它首先使用两者的真正原因libcpmt.lib
吗?
无论如何我可以解决这个问题吗?我真的不需要“正确”的方式。我想要的只是构建源代码,以便我可以运行 PreFast 检查(并不真正关心与链接相关的警告)。如果它对此给出任何 PreFast 警告,我可以暂时跳过它。