Discussion:
Debugging Information Corrupt
(too old to reply)
Tim Roberts
2009-10-04 01:10:18 UTC
Permalink
If I build an application in debug mode in Visual Studio 2005 that happens
to reference something in the oleacc.idl, and I link it with the brand-new
Windows 7 SDK, I get a linker error complaining about the debug information
in the library, suggesting that I recompile it. The error only happens
with the /debug switch to the linker.

If I were actually invoking <oleacc.h> by hand, as in my test app, I could
include <initguid.h> before it to eliminate the external reference.
However, in my case, <oleacc.h> is being brought in by ATL, and it might
not be convenient to use <initguid.h> on every GUID. The problem does not
occur with the Vista SDK.

I don't seen any references to this problem on the web, but I can't imagine
I'm the first one to encounter this. This is a minimal test case, but I am
seeing this with production apps.

C:\tmp>type x.cpp
#include <windows.h>
#include <oleacc.h>

int
main()
{
return (int)&IID_IAccessible;
}

C:\tmp>cl x.cpp /Zi /link /libpath:\data\sdk\7600\lib
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.762 for
80x86
Copyright (C) Microsoft Corporation. All rights reserved.

x.cpp
Microsoft (R) Incremental Linker Version 8.00.50727.762
Copyright (C) Microsoft Corporation. All rights reserved.

/out:x.exe
/debug
/libpath:\data\sdk\7600\lib
x.obj
uuid.lib(oleacc_i.obj) : fatal error LNK1103: debugging information
corrupt; recompile module

C:\tmp>
--
Tim Roberts, ***@probo.com
Providenza & Boekelheide, Inc.
Tom Walker
2009-10-04 04:13:13 UTC
Permalink
Post by Tim Roberts
If I build an application in debug mode in Visual Studio 2005 that happens
to reference something in the oleacc.idl, and I link it with the brand-new
Windows 7 SDK, I get a linker error complaining about the debug information
in the library, suggesting that I recompile it. The error only happens
with the /debug switch to the linker.
I saw a hotfix for this problem somewhere. It might be this one:

http://support.microsoft.com/default.aspx/kb/949009/
Tim Roberts
2009-10-06 03:57:01 UTC
Permalink
Post by Tom Walker
Post by Tim Roberts
If I build an application in debug mode in Visual Studio 2005 that happens
to reference something in the oleacc.idl, and I link it with the brand-new
Windows 7 SDK, I get a linker error complaining about the debug information
in the library, suggesting that I recompile it. The error only happens
with the /debug switch to the linker.
http://support.microsoft.com/default.aspx/kb/949009/
Excellent -- that fixes it. A rare failure in my Google-fu.
--
Tim Roberts, ***@probo.com
Providenza & Boekelheide, Inc.
Giovanni Dicanio
2009-10-04 07:36:08 UTC
Permalink
Post by Tim Roberts
If I build an application in debug mode in Visual Studio 2005 that happens
to reference something in the oleacc.idl, and I link it with the brand-new
Windows 7 SDK, I get a linker error complaining about the debug information
in the library, suggesting that I recompile it. The error only happens
with the /debug switch to the linker.
I think it was discussed also in the Windows SDK Blog:

http://blogs.msdn.com/windowssdk/archive/2009/05/22/windows-7-sdk-with-visual-c-2005-failure-to-compile-in-debug-mode.aspx

Giovanni
Loading...