以下是引用片段: Linking... uuid.lib(oleidl_i.obj) : fatal error LNK1103: debugging information corrupt; recompile module |
我的方法是,将新的sdk的include路径依然设置在Include files的第一条,而将新的sdk的lib路径调整到Library files中的最后一条,这样编译连接也没有问题,就可以解决上述删除新设置的路径后无法使用新的sdk中的特性的问题(譬如我的minidump就无法编译了,因为Include files和Library files的设置对vc来说是全局的,你在一个工程修改后,另外一个工程的路径也就变了)。
还有个更“革命”的方法是替换Microsoft Platform SDK for Windows XP SP2中uuid.lib为旧库中的uuid.lib,这个方法只是说说,不建议。这样改了之后,其实还是有隐患。
从根本上来讲,连接失败的原因是新版本的lib文件和一些老的lib文件不兼容造成的,譬如在MFC下你不使用静态库链接就没有问题,如果以后你使用新的sdk中的新特性,旧版lib文件中又没有实现,那又只好设置回来,总之是很麻烦的。
真正革命性的做法是使用VS2005或者VS2008,呵呵。