VC6下Release版工程增加调试信息遇到的问题和解决的方法
一. 调试VC6的Release工程
1、菜单 Build -> Configuration...,点击 Add 按钮,从 Release 版本复制一个编译选项,命名为“Release with debug info”,当然名称随意。
2、菜单 Project -> Settings...,在左上角选中刚才创建的“Release with debug info”,然后修改以下内容:
a、C++ | Category: General:Optimizations 设置为“Disable (debug)”;选中“Generate browse info”;Debug Info 设置为“Program Database”。
b、Link | Category: General:选中“Generate debug info”。
3、菜单 Build -> Set Active Configuration...,选中“Release with debug info”。
二. 但是我用到了PSDK(Microsoft Platform SDK for Windows XP SP2), 其中有一个UUID.lib
于是问题出来了, 在编译VC6下的带调试信息的Release工程时, 出现如下错误
uuid.lib(vcguids.obj) : fatal error LNK1103: debugging information corrupt; recompile module
搜索了一下, 这是由于Microsoft Platform SDK for Windows XP SP2 与VC6的调试格式不兼容了,
网上说只要Microsoft Platform SDK for Windows XP SP2的include和lib的路径向下移动(VC6中Tools|Options|...中)
但是对于我的工程不行, 我的解决方法是
用VC6的uuid.lib替换PSDK的uuid.lib, 结果link通过了.
用
C:\Program Files\Microsoft Visual Studio\VC98\Lib\uuid.lib
替换
C:\Program Files\Microsoft Platform SDK for Windows XP SP2\Lib\uuid.lib(请做好备份)