vc ++兼容性问题

时间:2011-07-04 07:23:13

标签: visual-studio-2008 visual-c++ sdk

我正在使用VS 6.0和VS2008。但问题是VS2008 SDK与VS(VC ++)不兼容

6.0 SDK。为了解决这个问题,我使用了Windows®Server2003 SP1 Platform SDK Web Install。如果我 在发布模式下构建其工作的代码,但如果在调试模式下执行,则它会给出错误 像这样

  

WbemUuid.Lib(wbemcli_i.obj):致命错误LNK1103:调试信息损坏;重新编译模块   执行link.exe时出错。

我该怎么做才能解决这个问题?

2 个答案:

答案 0 :(得分:1)

与VC6兼容的Windows SDK的最新版本是2003年2月版 - 比Win Server 2003 SP1 SDK早至少一年。

我不确定它是否可以下载,除了在MSDN上(它在那里可用)。

您可能想要考虑是否值得继续做其他事情而不是用VC6维护遗留代码。

事实证明,您仍然可以(截至2011年7月3日)订购2003年2月SDK的CD / DVD版本,用于“运送和处理”:

请注意,我尚未确认此订单页面确实仍然有效,我不知道此优惠是否全球延伸,而且我不知道运费/处理费用是多少。

(使用this link查看所有可用的SDK光盘。)

答案 1 :(得分:1)

我仍然经常使用VC6,它并不是那么糟糕。

要消除链接错误,请不要在项目设置中添加wbemuuid.lib。 如果您错过了任何符号,只需定义它即可。 如果您真的需要此dll中的任何功能,请改用LoadLibraryGetProcAddress

例如,如果您需要CLSID_WbemLocatorIID_IWbemLocator,请自行定义:

GUID MY_CLSID_WbemLocator = {0x4590f811, 0x1d3a, 0x11d0, {0x89, 0x1f, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24}};
GUID MY_IID_IWbemLocator = {0xdc12a687, 0x737f, 0x11cf, {0x88, 0x4d, 0x00, 0xaa, 0x00, 0x4b, 0x2e, 0x24}};

然后在代码中使用MY_XXXX