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