LNK1103: debugging information corrupt; recompile module
Windows 7関連のコードを書こうとすると、必然的にWindows SDKのベータバージョンをインストールすることになるんですが、インストール後に迂闊に、Windows SDK Configuration Toolで、VS2005までチェックをしたりしてしまい、VS2005でなんやかんやをコンパイルしたりするときに、
1>windowscodecs.lib(guids.obj) : fatal error LNK1103: debugging information corrupt; recompile module
なんて嫌なエラーを見ることになってしまいました。それ、私がビルドしたライブラリじゃありませんよ・・・。
KB949009
ちょっとだけ調べてみたところ、
というものを発見。
VS2008とVS2005でデバッグ情報のフォーマットが変わってしまったんだよという内容。つまり、VS2008で作成した.objとか、.libをVS2005で利用させる場合には注意が必要と言うこと。ちょっと、えぇぇ。ひょっとして自分のプロダクトも不味いかもとか思ってしまう問題ですが、それは置いておいて、結局、Windows 7向けのSDKが既にVS2008かあるいはそれ以上のバージョンでビルドされているから、VS2005だと注意ということだと解釈しました。
で、パッチがリリースされていますよと。
ダウンロード画面がいろんな意味で興味深い。
「ダウンロードしたファイル」って、まだダウンロードしてないし、ファイルサイズがx86が著しく大きい割には、x64が異様に小さい。というか、結局、VS80sp1-KB949009-X64-INTL.exeは、
とか言いやがって、最終的に、
何それ・・・。
とはいうものの、エラーは出なくなった。